操作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命令与容器运行模式相关选项

image

create命令与容器环境和配置相关的选项

image

create命令与容器资源限制和安全保护相关的选项

image

image

  • 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在后台运行的标准操作包括:

image

下面的命令启动一个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 强制删除镜像,而不进行提示确认