Docker镜像
-
基础理解
联合文件系统UnionFS:一种分层、轻量级并且高性能的文件系统。支持对文件系统的修改作为一次提交来一层层的叠加。
Dokcer镜像就是由一层一层的文件系统组成的。
按我的理解:Linux下bootfs是一致的,这个可以共用,rootfs有差别,但是它非常的小。docker使用系统自带的bootfs然后自身自带的rootfs。
重点理解
Docker镜像分为镜像层和容器层,镜像层是只读的,而容器层可读写。容器层之下是镜像层。如何改动操作都发生在容器层。
-
镜像制作
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的文件名:[标签名]
-
推送镜像
-
推送到阿里云
$ docker login --username=deve*****@xxcheng.cn registry.cn-hangzhou.aliyuncs.com $ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/xxcheng/my_ubuntu:[镜像版本号] $ docker push registry.cn-hangzhou.aliyuncs.com/xxcheng/my_ubuntu:[镜像版本号]
-
阿里云拉取到本地
$ docker pull registry.cn-hangzhou.aliyuncs.com/xxcheng/my_ubuntu:[镜像版本号]
-
搭建本地私服
-
拉取
registry
docker pull registry
-
运行私有库
docker run -d -p 5000:5000 registry
-
修改配置文件,使支持http方式
vim /etc/docker/daemon.json
新增
"insecure-registries": ["192.168.111.162:5000"]
如果配置不生效,使用
systemctl restart docker
尝试重启是否生效,生产环境禁用重启完之后,还要记得启动
registry
-
开始推送,与阿里云操作类似
[root@localhost ~]# docker tag 58883a153aaa 192.168.12.7:5000/my_ubuntu:1.0.1 [root@localhost ~]# docker push 192.168.12.7:5000/my_ubuntu:1.0.1 The push refers to repository [192.168.12.7:5000/my_ubuntu] 479e3b95f1ce: Pushed e80a1cec5b45: Pushed 9f54eef41275: Pushed 1.0.1: digest: sha256:c1aa12a05db05e0db03575b25d1f875b1f26736813639e9e6cd1143e21508335 size: 948
-
-
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。