初学者的Docker入门3 – 容器的基本操作
由于在之前的两次会议中已经了解了Docker的概要,所以这一次我们将使用Docker Engine来进行有关容器基本操作的输出。
前提 – Qian2 ti2
我正在尝试在以下环境中进行容器的基本操作。
-
Mac book Pro(OS X El Capitan)
Docker for Mac(1.12.0-rc4)
容器的生命周期
以下是容器的生命周期,对于Docker中的容器生命周期可能更容易理解。(我无法自行提供生命周期示意图…)
Docker镜像是什么?
基于容器的操作系统、目录、文件、配置等的整合体称为Docker镜像。可以通过从容器创建或者通过Dockerfile编写代码并进行构建来创建Docker镜像。
创建容器 – docker create
要创建容器,需要使用”docker create”命令。
指定要基于的Docker镜像来创建新容器。
在执行”doker create”命令时,只是创建了容器,但它仍然处于停止状态。
# 使い方:docker create [オプション] イメージ [コマンド] [引数...]
# 実行例
$ docker create -i -t --name centos centos:centos6 /bin/bash
# 実行結果(コンテナIDが表示される)
$ 0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqr
在实例中,基于centos6镜像创建了一个名为”centos”的容器。
此外,作为选项,在容器启动时指定了执行命令”/bin/bash”以及选项”-i”和”-t”。
使用中的选项内容如下所示。
如果要连接到容器并进行操作,需要指定选项“-i”和“-t”。
在Docker中,当指定的命令执行完毕后,容器会停止,这是原因。
因此,如果像示例一样在命令中指定”/bin/bash”,如果不指定”-i”和”-t”选项,命令会立即执行完毕,但如果指定了”-i”选项,bash会持续等待STDIN,从而使容器持续运行。
此外,通过指定”-t”选项,可以在连接到容器时显示终端。
用这个命令将终端显示在容器连接时,你可以执行类似于Linux标准命令 “cd” 和 “ls” 等工作,因为STDIN也已经打开,可以输入命令。
启动容器 – docker start
要启动指定的一个或多个容器,您可以使用”docker start”命令。
# 使い方:docker start [オプション] コンテナ [コマンド...]
# 実行例
$ docker start -i centos
# 実行結果
[root@0123456789ab /]#
以实际示例为例,启动一个名为”centos”的容器,并附加到 STDIN 上。
正在连接到容器。
所使用的选项内容如下所示。
运行容器-运行docker
要执行容器,需要使用”docker run”命令。
从基本的Docker镜像创建并启动容器。
以一组指令完成”docker create”和”docker start”的动作。
# 使い方:docker run [オプション] イメージ [コマンド] [引数...]
# 実行例
$ docker run -i -t --name centos centos:centos6 /bin/bash
# 実行結果
[root@0123456789ab /]#
在上述示例中,与 “docker create” 相同,它以 centos6 的映像为基础创建了名为 “centos” 的容器,并启动容器。容器启动后,连接到容器并显示终端。所使用的选项与 “docker create” 相同。
如果不需要连接到容器并且希望在后台运行,则可以使用选项“-d”。
停止容器 – 停止 Docker
要停止正在运行的容器,需要执行”docker stop”命令。
# 使い方:docker stop [オプション] コンテナ [コンテナ...]
# 実行例
$ docker stop centos
# 実行結果(停止したコンテナを表示)
centos
在上述执行示例中,停止了一个名为”centos”的正在运行的容器。
删除容器 – docker rm
要删除容器,需要运行「docker rm」命令。
# 使い方:docker rm [オプション] コンテナ [コンテナ...]
# 実行例
$ docker rm centos
# 実行結果(削除したコンテナを表示)
centos
要删除容器,需先停止容器,上述示例中成功删除名为”centos”的容器。
如果想要强制删除正在运行的容器,可以使用选项“-f”。
显示容器信息 – docker ps
要显示存在的容器信息,需要执行“docker ps”命令。
# 使い方:docker ps [オプション]
# 実行例
$ docker ps -a
# 実行結果
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0123456789ab centos:centos6 "/bin/bash" 1 minutes ago Exited (0) 1 seconds ago centos
如果使用选项”-a”,会显示停止的容器的信息。如果不指定,则只显示正在运行的容器的信息。
以下是所使用选项的内容。
展示Docker镜像列表 – docker images
要显示Docker镜像清单,请执行命令「docker images」。
# 使い方:docker images [オプション] [リポジトリ[:タグ]]
# 実行例
$ docker images
# 実行結果
REPOSITORY TAG IMAGE ID CREATED SIZE
centos centos6 012345689ab 7 weeks ago 194.6 MB
通过指定图像,可以显示想要确认的图像信息,就像上述示例中显示的已获取图像的列表一样。
删除Docker镜像 – docker rmi
要删除获取的Docker镜像,需要执行”docker rmi”命令。
# 使い方:docker rmi [オプション] イメージ [イメージ...]
# 実行例
$ docker rmi centos:centos6
# 実行結果
Untagged: centos:centos6
Deleted: sha256:0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqr
在上述示例中,它删除了标签为”centos6″的名为”centos”的镜像。
请参考以下网址
Docker文档日本化项目 – Docker指令
下次
我想利用容器来创建一个简单的系统。