docker 搭建私有镜像仓库
搭建私有仓库需要有两台linux主机,先本地创建两个linux虚拟机,并安装好docker
配置本地daemon.json(daemon.json存储在etc/docker目录)
本地新建daemon.json
{"registry-mirrors":["https://registry.docker-cn.com"],"dns":[ "114.114.114.114", "8.8.8.8" ] }
cd /etc/docker 定位到指定目录,上传daemon.json
接下来通过registry 镜像举例如何搭建私有仓库。
首先下载registry镜像:
docker image pull registry
创建私有仓库:
docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
参数说明
-itd:在容器中打开一个伪终端进行交互操作,并在后台运行;
-v:把宿主机的/data/registry目录绑定 到 容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;
-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了;
--restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器;
--name registry:创建容器命名为registry,你可以随便命名;
registry:latest:这个是刚才pull下来的镜像;
创建私有仓库镜像(打标签):
docker image tag registry 127.0.0.1:5000/registry
把镜像推送到私有仓库:
docker push 127.0.0.1:5000/registry
查看私有仓库中所有的镜像,会发现新增了registry
curl 127.0.0.1:5000/v2/_catalog
至此, 私有仓库已经搭建完成,接下来就是下载
打开另外一台虚拟机,配置daemon.json
{"registry-mirrors":["https://registry.docker-cn.com"],"dns":[ "114.114.114.114", "8.8.8.8" ],"insecure-registries":["192.168.31.168:5000"] }
配置好daemon.json 要重启一下docker
service docker restart
然后下载镜像
docker pull 192.168.31.168:5000/registry
下载完成输入 docker images 查看,已经从私有仓库下载到本地了