目录
启动容器
基于镜像创建并启动:
docker run --name [name] -p 127.0.0.1:5000:5000 -e [参数、命令] -d [image name]:[tag]
docker run -it ubuntu:14.04 /bin/echo 'Hello world'
参数:-i:保持终端 -t:打开一个交互终端 -d 后台运行 -p ip和端口影射
启动一个状态为stop的容器:
docker start [镜像name或id]
docker run启动一个容器的过程:
- 检查本地是否存在指定的镜像,不存在就从公有仓库下载
- 利用镜像创建并启动一个容器
- 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
- 从地址池配置一个 ip 地址给容器
- 执行用户指定的应用程序
- 执行完毕后容器被终止
停止容器
docker stop [容器name或id]
终止态的容器可以用
docker ps -a
查看
docker restart
停止一个正在运行的容器并重新启动。
进入容器
docker attach [容器name或id]
如果容器默认用-d启动,用attach进入的时候会一直卡住,可以用
docker exec -it [name] /bin/bash
进入
nsenter
导出、导入容器
导出
docker export [id] > [name].tar
导入
cat [name].tar | sudo docker import - [容器name]/[要导出生成的镜像name]:v1.0
docker load 和 docker import区别:import为导入的快照,历史记录和元数据会丢失。load为导入的镜像,历史信息都存在,所以体积也会更大。
删除容器
删除状态为停止状态的容器:
docker rm [容器name]
删除所有状态为停止状态的容器
docker rm $(docker ps -a -q)