操作Docker容器(第四章)
- 关键词:容器
操作Docker容器
容器是镜像的一个运行实例。镜像是静态的只读文件,而容器带有运行时需要的可写文件层。同时,容器中的应用进程处于运行状态。
创建容器
Docker容器的create、start、run、wait和logs子命令。
- 1.新建容器:
可以使用docker [container] create命令创建一个容器。
docker create -it ubuntu:latest
使用docker [container] create命令创建的容器处于停止状态,可以使用docker [container] start命令来启动它。
容器是整个docker技术栈的核心,create命令和run命令支持的选项都十分复杂,需要在实践中体会。
create命令与容器运行模式相关选项
create命令与容器环境和配置相关的选项
create命令与容器资源限制和安全保护相关的选项
- 2.启动容器:
使用docker [container] start命令来启动一个已经创建的容器。
启动af:docker start af 以及查看:docker ps
- 3.新建并启动容器:
除了创建容器后通过start命令来启动,也可以直接新建并启动容器。
所需要的命令主要为docker [container] run,等价于先执行docker [container] create命令,再执行docker [container] start命令。
下面的命令输出一个“helloWorld”,之后容器自动终止: docker run ubuntu /bin/echo ‘helloWorld’
当利用docker [container] run来创建并启动容器时,Docker在后台运行的标准操作包括:
下面的命令启动一个bash终端,允许用户进行交互:
docker run -it ubuntu:18.04 /bin/bash
其中,-t选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上;-i则让容器的标准输入保持打开。
更多的命令选项可以通过man docker-run命令来查看。
在交互模式下,用户可以通过所创建的终端来输入命令,如pwd、ls、ps、ctrl+d或者exit退出。
对于所创建的bash容器,当用户使用exit命令退出bash进程之后,容器也会自动退出。这是因为对于容器来说,当其中的应用退出后,容器的使命完成,也就没有继续运行的必要了。
可以使用docker container wait CONTAINER [CONTAINER…]子命令来等待容器退出,并打印退出返回结果。
某些时候,执行docker [container] run时候,因为命令无法正常执行容器会出错直接退出,此时查看错误代码:
错误代码 | 说明 |
---|---|
125 | Docker daemon执行出错,例如指定不了 |
126 | 只清理符合给定过滤器的镜像 |
127 | 强制删除镜像,而不进行提示确认 |