本系列教程由旺旺知识库授权进行发布 前面基本概念部分我们已经介绍了docker镜像就是一个只读模板,可以从镜像启动一个容器实例。我们也发现,在启动容器的过程中,如果镜像不存在,docker会自动从默认镜像仓库(默认为官方Docker Hub)下载相应的镜像,然后再启动容器。
1、列出本地已有的镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest ce20c473cd8a 2 weeks ago 172.3 MB
2、从默认镜像仓库搜索镜像
[root@localhost ~]# docker search redis
3、下载镜像到本地
[root@localhost ~]# docker pull redis
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
redis latest c08dd1f8fad9 12 days ago 109.2 MB
centos latest ce20c473cd8a 2 weeks ago 172.3 MB
4、给镜像添加tag
REPOSITORY :包含仓库信息,如docker.io/redis ,表示docker.io仓库的redis名称镜像。
TAG:同一个名称的镜像可能有多个版本,默认为latest版本(最新版),TAG就标明了版本
IMAGE ID :镜像唯一ID
1、REPOSITORY:TAG :如docker.io/centos:6.62、IMAGE ID : 如12c9d795d85a
*注意:如果直接使用“REPOSITORY”,则默认“TAG”为“latest”,如镜像redis就标识“redis:latest”
# docker tag 195eb90b5349 seanlook/ubuntu:rm_test
# docker tag Registry/Repos:Tag New_Registry/New_Repos:New_Tag
5、将容器的修改提交到镜像
# docker push 192.168.1.200:5000/centos:6.6
6、存出或载入镜像
# docker save -o redis.tar redis
# docker load --input redis.tar
或
# docker load < redis.tar
7、删除镜像
# docker rmi redisUntagged: redis:latest
Deleted: c08dd1f8fad9ff2622a1b5d74650a8e494ee380b74030e21584fea05079c2818
Deleted: 1749db59d6f291dc5b9b76610f33a15421170b711a07e0e4a835edb43c2d52f1
Deleted: e1c16660ac6110b9defa97ec9883e85f680459a951bd3c9aa9a02a4aa81034e7
Deleted: 134e55bc9c437b5a822885b879d34dc7f0bb189406ff6bfe33889e56e75fd7ba
Deleted: 3968e93424409ba4c7ebfb73dc8ca8b20ac1c1f622ea0ce1753efe6e57f5bb5e
Deleted: 57f1a903e59a508e0690c226b8e3016a125d98c2e42f9fc03efe871b85e35052
`
8、镜像的原理
通常 Union FS 有两个用途, 一方面可以实现不借助 LVM、RAID 将多个 disk 挂到同一个目录下,另一个更常用的就是将一个只读的分支和一个可写的分支联合在一起,Live CD 正是基于此方法可以允许在镜像不变的基础上允许用户在其上进行一些写操作。 Docker 在 AUFS 上构建的容器也是利用了类似的原理。
关于马哥linux运维