3.1 Docker容器的基本概念与操作
Docker的容器类似操作系统的文件夹,其中包含应用和应用运行时所需要的依赖环 境。每一Docker 容器都是从 Docker 镜像创建的。 Docker容器的操作包括: 创建容器、停止容器、进入容器、删除容器、导入和导出容 器、查看容器等。 下面演示如何进行这些操作
(1)使用“docker create”创建容器,如以下命令所示。这里基于 Nginx 的镜像创 建了一个容器,名字为“mycontainer”。但通过“docker ps”命令无法看到创建的容器,因为此时容器还没有启动
[root@node7 ~]# docker create --name mycontainer nginx
(2)在“docker ps ”命令后使用-a参数可以查看所有的容器
(3)使用“docker start”命令可以启动容器
[root@node7 ~]# docker start d3ca2a439c22
(4)使用“docker run”命令可以直接创建容器并启动容器
root@node7 ~]# docker run -d --name mycontainer2 nginx
(5)使用“docker exec”命令可以进入容器内
[root@node7 ~]# docker exec -it mycontainer /bin/bash
其中的参数说明如下。 -t:为Docker分配一个伪终端。 -i:为Docker 打开标准输入。
(6)在停止并删除容器时需要注意:当容器正在运行时,是不能直接将其删除的。但可 以使用-f参数进行强制删除
[root@node7 ~]# docker stop e808179e7063
e808179e7063
[root@node7 ~]# docker rm mycontainer2
mycontainer2
如果一次性要删除所有的容器,执行docker rm -f $(docker ps -aq)
(7)可以导出一个已经创建的容器到一个文件中。不管容器处于什么状态,都可以使 用“docker export”命令进行导出,如图所示。通过这种方式可以实现容器的迁移。
[root@node7 ~]# docker export -o myexportcontainer1.tar d3ca2a439c22
参数具体说明。myexportcontainer1.tar:导出的容器文件。 d3ca2a439c22:容器的ID。
(8)从容器导出生成的文件,可以使用“docker import”命令重新导入容器。
[root@node7 ~]# docker import myexportcontainer1.tar mynginx_imported
(9)使用mynginx_imported镜像来创建一个容器。这里需要注意的是:如果要使用导 入的镜像直接启动容器,则需要在启动时跟上具体的命令,否则会出现的错误。
下面给出了正确的做法。命令中的“/bin/bash”表示在启动容器时需要在容器中执行的指令
[root@node7 ~]# docker run -d mynginx_imported /bin/bash