创建容器
docker create -it ubuntu
创建并以交互模式启动容器
docker run -it ubuntu /bin/bash
--rm 容器在停止运行时删除,不可与-d同时使用
当运行docker run时,docker在后台运行的标准操作包括:
检查本地是否存在指定的镜像,不存在就从公有仓库下载。
利用镜像创建并启动一个容器。
分配一个文件系统,并在只读的镜像层外面挂载一层可读写层。
从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去。
从地址池配置一个IP地址给容器。
执行用户指定的应用程序。
执行完毕后容器被终止。
守护态运行
docker run -d ubuntu /bin/sh -c "while true; do echo hello-world; sleep 2; done"
获取容器输出信息
docker logs a3f
hello-world
hello-world
......
终止容器
docker stop a3f
启动/重新启动 处于终止状态的容器
docker start/restart a3f
进入容器
docker attach a3f
容器内运行命令
docker exec 4323 echo "hello-world"
hello-world
删除容器
docker rm 4323
-f 强制终止并删除正在运行的容器
-l 删除容器的连接,保留容器
-v 删除容器挂载的数据卷
导出容器
docker export 4323 > ubuntu.tar
ll -h
-rw-r--r-- 1 root root 98M Oct 22 11:02 ubuntu.tar
导入容器为镜像
cat ubuntu.tar |docker import - admin/ubuntu:16.04
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
admin/ubuntu 16.04 17b99abe5e0e 7 seconds ago 98.33 MB
docker load 与docker import区别
容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。