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 import
和 docker 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
No Comments