容器基本操作
创建、启动、停止容器
docker创建的容器是处于停止状态,可以使用docker start命令来启动
docker create -it ubuntu:latest
docker start <容器ID>
docker stop <容器ID>
新建并启动容器
docker run ubuntu /bin/echo "Hello World"
执行过程:
- 检查本地是否存在指定的镜像,如果没有就从指定的仓库下载
- 利用镜像启动一个容器
- 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
- 从宿主机配置的网桥接口中桥接一个虚拟接口到容器中去
- 从地址池配置一个IP给容器
- 执行用户指定的程序
- 执行完毕后停止容器
所以当"hello world"被输出以后,该容器就会停止,可以使用如下方法打开一个bash交互式终端:
docker run -it centos:6.6 /bin/bash
选项说明:
-t:配置一个伪终端并绑定到容器的标准输入上
-i:让容器的标准输入保持打开
-d:将容器放入后台运行
-c:指定分配该容器的cpu分片
-m:指定分配给该容器的内存大小,单位为B,K,M,G
将容器放入后台运行:
docker run -d --name=base ubuntu /bin/sh -c "supervisord -c /etc/supervisord.conf"
查看当前容器
docker ps #查看当前正在运行的容器
选项:
-a:查看所有容器,包括停止的
-q:只显示容器ID
-l:显示最后一次创建的容器
进入容器
docker attach <容器名称> #多个窗口同时attach到一个容器时,会同步显示
docker exec -it <容器ID> /bin/bash
删除容器
docker rm
选项:
-f:强行终止并删除一个运行中的容器
-l:删除容器的连接,但保留容器
-v:删除容器挂载的数据卷
导出、载入容器
docker export <containerID> > test_for_run.tar #不管容器是否在运行,均可直接导出
cat test_for_run.tar | docker import - test/ubuntu:v1.0 #载入,实现容器迁移