目录

一、Docker 环境搭建

1. 准备工作(已有 Linux 环境可省略)

2. 安装 Docker

3. 设置 ustc 镜像

二、Docker/容器操作命令汇总

1. Docker 操作命令

2. 镜像相关命令

3. 查看容器

4. 创建容器

5. 停止与启动容器

6. 文件挂载

7. 目录挂载

8. 查看容器 IP 地址

9. 删除容器


一、Docker 环境搭建

1. 准备工作(已有 Linux 环境可省略)

在这里我们用 VM 虚拟机 + CentOS 的环境进行 Docker 部署(建议使用 CentOS 7 以上版本)

首先准备一台 CentOS 系统的虚拟机,可以看到主机的 IP 地址为 192.168.200.129;

为了更加直观,我将使用 Xhell 7 连接虚拟机进行操作演示;

2. 安装 Docker

第一步:yum 包更新到最新;

//更新yumsudo yum update

第二步:安装需要的软件包,yum-util(提供 yum-config-manager 功能)device-mapper-persistent-datalvm2(devicemapper 驱动依赖)

//安装需要的包sudo yum install -y yum-utils device-mapper-persistent-data lvm2

第三步:设置 yum 源为阿里云;

//设置阿里云源sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第四步:安装 Docker;

//安装dockersudo yum install docker-ce

第五步:检查 Docker 版本;

//检查 docker 版本docker -v

使用 docker -v 命令可以查看到版本号即说明安装成功。

3. 设置 ustc 镜像

Docker 安装完成之后还需要执行一个操作那就是设置国内镜像站点,否则 Docker 中下载操作会很慢。

ustc 是老牌 Linux 镜像服务提供者,它的 Docker 加速器速度很快,而且不需要注册,是真正的公共服务。

需要注意的是在设置之前要先启动 docker 服务,如果不启动服务就编辑 .json 文件是无法正常保存的,因为它无法找到 Docker 进程。启动 Docker 服务使用指令:

service docker start

然后 vi 进入文件 /etc/docker/daemon.json,在文件中添加以下内容;

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}

退出保存即可。

二、Docker/容器操作命令汇总

1. Docker 操作命令

systemctl start docker  //启动 Docker;

systemctl stop docker  //停止 Docker;

systemctl restart docker  //重启 Docker;

systemctl status docker  //查看 Docker 状态;

systemctl enable docker  //开机自启动 Docker;

docker info  //查看 Docker 概要信息;

docker –help  //查看 Docker 帮助文档;

2. 镜像相关命令

docker images  //查看镜像(这些镜像都存储于 /var/lib/docker 目录下)

  • repository – 镜像名称;
  • tag – 镜像标签;
  • image id – 镜像 id;
  • created – 镜像的创建日期;
  • size – 镜像的大小;

docker search 镜像名称  //搜索镜像,从网络查找需要的镜像

  • name – 仓库名称;
  • description – 镜像描述;
  • stars – 用户评价,反映该镜像的受欢迎程度;
  • official – 是否官方;
  • automated – 自动构建,表示该镜像是由 Docker Hub 自动构建流程创建的。

docker pull 镜像名称  //拉取镜像,从中央仓库下载镜像到本地

如下载 centos 7 镜像:

docker rmi 镜像ID  //删除镜像,可根据镜像 ID 也可根据镜像名称

docker rmi `docker images -q`  //删除所有镜像

3. 查看容器

docker ps  //查看容器

docker ps -a  //查看所有容器

docker ps -l  //查看最后一次运行的容器

docker ps -f statu=exited  //查看停止的容器

4. 创建容器

docker run 

docker run 参数

包含参数如下:

  • -i  运行容器
  • -t  容器启动后自动进入其命令行
  • –name  为创建的容器命名
  • -v  表示目录映射关系,前者为宿主机目录,后者是映射到宿主机上的目录
  • -d  加了这个参数则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器)
  • -p  表示端口映射,前者为宿主机端口,后者是容器内的映射端口

常用创建容器的方式为交互式创建容器和守护式创建容器,如下:

//交互式创建容器docker run -it --name=容器名称 镜像名称:标签 /bin/bash//退出当前容器exit
//守护式创建容器docker run -di --name=容器名称 镜像名称:标签//登录守护式容器docker exec -it 容器名称/ID /bin/bash

5. 停止与启动容器

docker stop 容器名称/ID  //停止容器

docker start 容器名称/ID  //启动容器

6. 文件挂载

docker cp 需要拷贝的文件/目录 容器名称:目录  //将文件拷贝到容器内

docker cp 容器名称:目录 需要拷贝的文件/目录  //将文件从容器拷贝出来

7. 目录挂载

在创建容器时,我们可以将宿主机的目录与容器内的目录进行映射,这样就可以通过修改宿主机的目录文件从而直接影响容器了。

docker run -di -v 宿主机目录:容器目录 –name=容器名称 镜像名称:标签

如果共享多级的目录,可能会出现权限不足的提示。这是由于 CentOS 7 中的安全模块 selinux 将权限禁止了,这时候可以添加参数 –privileged=true 来解决此问题。

8. 查看容器 IP 地址

docker inspect 容器名称/ID  //查看容器 ip 以及相关的各种数据

docker inspect –format='{{.NetworkSettings.IPAddress}}’ 容器名称/ID  //查看容器 ip 地址并输出

9. 删除容器

docker rm 容器名称/ID  //删除指定的容器

需要注意的是如果想要删除一个容器,需要先停止该容器;且如果镜像中有运行状态的容器,也是无法删除容器的。