本文记录了从本地镜像启动新容器,退出容器,容器外使用容器,停止容器,删除容器的过程。
容器的四种运行模式:
- 交互式(Interactive) 模式:在交互式模式下,容器的标准输入(stdin)会保 持打开状态,你可以与容器的命令行交互。
- 后台(Detached) 模式:在后台模式下,容器在后台运行,不会附加到你的终端。
- 伪终端(TTY) 模式:伪终端模式允许你在容器中使用类似终端的交互式 Shell。
- 附加(Attach) 模式:在附加模式下,你可以连接到已在后台运行的容器的标准输入(stdin)、输出(stdout)和错误输出(stderr)。
解释几个容器的启动参数:
-i
:这个选项允许你保持标准输入(stdin)打开,以便能够与容器的命令行进行交互。
-t
:这个选项为容器分配一个伪终端,使你可以在容器中使用类似终端的交互式 Shell。
-d
:这个选项将容器运行在后台模式,即不会附加到你的终端。在这种情况下,你可以使用 docker logs 命令来查看容器的标准输出(stdout)和错误输出(stderr)。
-a
:这个选项将容器的标准输入(stdin)、输出(stdout)和错误输出(stderr)连接到当前终端,以便你可以实时查看并与容器进行交互。综合以上叙述可以看出,容器的某些模式可以组合使用。
当杀死容器中最后一个主进程时,会同时杀死容器。原因是容器如果不运行任何进程则无法存在。
-
docker container run -it e4c5 /bin/bash
命令:从镜像启动新容器-it
-i
选项:接入STDIN-t
选项:进入一个伪终端
ec45
参数:镜像 ID/bin/bash
参数:启动容器后执行的 命令(可选)
-
Ctrl P Q
命令:以后台模式退出容器 -
docker container ls
命令:列出后台容器 -
docker container exec -it d6db bash
命令:启动某容器中的某程序-it
-i
选项:接入STDIN-t
选项:进入一个伪终端
d6db
参数:容器 IDbash
参数:启动后执行的命令
-
>exit
命令:退出当前bash程序(由于容器中保留有原先的的进程,容器没有被停止) -
docker container stop d6db
命令:停止 容器 -
docker container rm d6db
命令:删除 容器 -
docker container ls -a
命令:列出后台容器-a
选项:全部(包括已停止的容器)