Docker 容器基本操作


简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。

启动容器

我们可以使用 docker run 来创建并启动容器:

docker run ubuntu:14.04 /bin/echo 'Hello world' // 启动容器并输出“Hello World”后退出
docker run -t -i ubuntu:14.04 /bin/bash   // 启动一个 bash 终端并允许用户进行交互(不退出)

当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:

  • 检查本地是否存在指定的镜像,不存在就从公有仓库下载
  • 利用镜像创建并启动一个容器 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
  • 从地址池配置一个 IP 地址给容器
  • 执行用户指定的应用程序
  • 执行完毕后容器被终止

后台运行

可以通过在 docker run 命令中添加 -d 参数来实现容器的后台运行。

可以通过 docker container ls 命令来查看所有容器信息。

要获取容器的输出信息,可以通过 docker container logs 命令:

docker container logs [container ID or NAMES]

终止容器

可以使用 docker container stop 来终止一个运行中的容器(后面跟上容器 ID 或 NAME 值)。

此外,当 Docker 容器中指定的应用终结时,容器也自动终止(exit 或 Ctrl+D)。

终止状态的容器可以用 docker container ls -a 命令看到。

处于终止状态的容器可以通过 docker container start 命令来启动(后面跟上容器 ID 或 NAME 值)。

此外, docker container restart 命令会将一个运行态的容器终止,然后再重新启动它。

进入容器

在使用 -d 参数时,容器启动后会进入后台。某些时候需要进入容器进行操作,包括使用 docker attach 命令或 docker exec 命令。

推荐使用 docker exec,因为 docker exec 在 stdin 中输入 exit 不会终止容器。我们通常通过如下命令进入后台运行的容器并通过 Bash 指令与其交互:

docker exec -it [容器ID] bash

更新参数细节,可以运行 docker exec --help 查看。

导入导出容器

我们可以分别通过 docker importdocker export 命令导入导出容器:

docker export 7691a814370e > ubuntu.tar
cat ubuntu.tar | docker import - test/ubuntu:v1.0
docker import http://example.com/exampleimage.tgz example/imagerepo

删除容器

删除终止状态容器:

docker container rm [容器ID或NAME]

删除运行状态容器:

docker container rm -f [容器ID或NAME]

批量清理所有处于终止状态的容器:

docker container prune

Vote Vote Cancel Collect Collect Cancel

<< 上一篇: 镜像的实现原理

>> 下一篇: Docker Hub