【微服务实战之Docker容器】第一章-下载及安装
查看镜像ID
docker images
根据ID删除镜像
docker rmi -f e31d10b7fc81
docker pull registry
默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调
docker run -d -p 5000:5000 -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry
启动下载过的ubuntu镜像
docker run -it ubuntu /bin/bash
进入到了docker内的ubuntu命令行界面,更新apt-get
apt-get update
下载安装ifconfig(默认的最小镜像是不带的)
apt-get install net-tools
安装完成后,ifconfig,已经能够使用
接下来ctrl+p+q退出容器
执行命令,将容器生成新的镜像,添加导本地镜像中
docker commit -m="ifconfig cmd add" -a="zzyy" a69d7c825c4f zzyyubuntu:1.2
把刚才的ubuntu关掉,然后启动我们的新的镜像,检查ifconfig命令是否可以正常使用
docker stop 6432d7887553
docker run -it d4338649e7e9 /bin/bash
curl -XGET http://192.168.248.128:5000/v2/_catalog
可以看到,目前私服库没有任何镜像上传过。。。。。。
3. 将新镜像zzyyubuntu:1.2修改符合私服规范的Tag
(给镜像打标签可以理解为git中的将本地仓库和远程仓库相关联,后边使用push命令就可以推送了)
按照公式: docker tag 镜像:Tag Host:Port/Repository:Tag
docker tag zzyyubuntu:1.2 192.168.248.128:5000/zzyyubuntu:1.2
4. 修改配置文件使私服支持http
私服一般做了安全加固,默认不支持http形式的推送,修改配置取消这个限制
vim /etc/docker/daemon.json
注意:配置是json格式,添加时要有一个逗号
,
"insecure-registries": ["192.168.248.128:5000"]
systemctl restart docker
重启docker后,需要重启私服镜像
docker run -d -p 5000:5000 -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry
docker push 192.168.248.128:5000/zzyyubuntu:1.2
验证是否推送成功
curl -XGET http://192.168.248.128:5000/v2/_c
6. 从私服拉取到本地执行
先把本地的镜像删除(把两个都删除)
docker rmi -f 192.168.248.128:5000/zzyyubuntu:1.2
docker rmi -f zzyyubuntu:1.2
删完之后检查下
然后从私服仓库重新拉取
docker pull 192.168.248.128:5000/zzyyubuntu:1.2
重新运行拉取的镜像,测试下ifconfig,发现成功啦。
O(∩_∩)O