Docker 中镜像、容器、仓库的概念梳理
概念梳理
- 镜像可以理解为类似于操作系统的镜像(如windows.iso)
- 容器可以理解为镜像上面创建的一个
- 仓库就是存储着很多镜像的东西
他们之间的结构关系可以用下图表示:
逻辑关系可以用下图表示:
常用命令
镜像
搜索镜像:
docker search <image>
拉取镜像:
docker pull <image>
查看与删除:
docker images: # 列出images
docker images -a # 列出所有的images(包含历史)
docker ps -a #列出本机所有容器
docker rmi <image ID>: # 删除一个或多个image
导入与导出:
# 存出本地镜像文件为.tar
docker save -o ubuntu_14.04.tar ubuntu:14.04
# 导入镜像到本地镜像库
docker load --input ubuntu_14.04.tar或者
docker load < ubuntu_14.04.tar
上传
# 用户在dockerhub网站注册后,即可上传自制的镜像。
docker push NAME[:TAG]
容器
创建(运行即创建一个新的)
docker run -i -t 仓库名称:标签
这个小小的run
命令,其实docker
在后台要执行好多任务,如下图:
进入容器
docker attach 容器id
执行容器命令
docker exec -ti 容器id 命令
删除容器
docker rm 容器
修改容器
容器固化成镜像
docker commit 容器 仓库:标签
导入导出
# 导出到文件
docker export 容器 > test.tar
# 导入镜像
cat test.tar | docker import - centos:latest
仓库
当然也可以自己搭建私有仓库,具体的内容不再赘述。