docker-容器管理

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止 状态(stopped)的容器重新启动。

1
2
3
4
5
docker run -it ubuntu:14.04 /bin/bash
  -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上 
  -i 让容器的标准输入保持打开。
  -d Docker在后台运行而不是直接把执行命令的结果输出在当前宿主机下
  --name 容器自定义命名

run的操作

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

获取container信息

1
2
3
4
可以查看所有已经创建的包括终止状态的容器
docker ps -a

docker logs [container ID or NAMES]

可以利用 docker start 命令,直接将一个已经终止的容器启动运行。 可以使用docker stop来终止一个运行中的容器。 此外, docker restart命令会将一个运行态的容器终止,然后再重新启动它。

容器删除

docker rm [container ID or NAMES]如果要删除一个运行中的容器,可以添加 -f 参数。Docker 会发送 SIGKILL 信号给容器 docker rm $(docker ps -a -q) 清理所有处于终止状态的容器

快照

1
2
3
4
导出容器快照到本地文件
docker export [container ID] > ubuntu.tar
从容器快照文件中再导入为镜像
cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0