一. 公有镜像仓库:docker hub
二. 平台镜像仓库
1.docker hub public镜像仓库(不安全)/private镜像仓库(无法团队协作)
2.aliyun个人镜像库(免费)public(不安全)/private(无法团队协作)/企业镜像库(需付费)
三. 私有镜像仓库(安全,适合企业内部)
1.下载镜像 Docker Registry
docker pull registry
2.运行私有库Registry,相当于本地有个私有Docker hub
docker run -d -p 5000:5000 -v /wuqirui/myregistry/:/var/lib/registry --privileged=true registry
默认情况下,仓库被创建在容器的/var/lib/registry目录下,通过容器卷映射创建在宿主机/wuqirui/myregistry目录下。
--privileged=true 设置目录挂载权限
3.curl验证私服库上有什么镜像
查看5000端口使用情况:netstat -anp |grep 5000
开通端口5000:firewall-cmd --zone=public --add-port=5000/tcp --permanent
重启防火墙:firewall-cmd --reload
验证私服库有什么镜像:curl -XGET http://192.168.32.130:5000/v2/_catalog //ip是宿主机ip
{"repositories":[ ]}
4.案例演示创建一个新镜像,ubuntu安装ifconfig命令
进入容器执行命令:
apt-get update
apt-get install net-tools
退出容器执行命令:
docker commit -m="ifconfig cmd add" -a="wuqirui" containerID ImageName:Tag
5.将新镜像修改为符合私服规范的ImageName:Tag
docker tag myubuntu:1.2 192.168.32.130:5000/myubuntu:1.2
6.修改配置文件使之支持http(docker默认不支持http)
vim /ect/docker/daemon.json
{
"registry-mirrors": ["https://yd08mmsw.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.32.130:5000"]
}重启docker: systemctl restart docker
7.push推送到私服库
docker push 192.168.32.130:5000/myubuntu:1.0
8.再次curl验证私服库上有什么镜像
[root@centos7host1 ~]# curl -XGET http://192.168.32.130:5000/v2/_catalog
{"repositories":["myubuntu"]}
9.获取私服库的myubuntu镜像
docker pull 192.168.32.130:5000/myubuntu:1.0