Docker私有仓库搭建

一、Docker 私有仓库搭建

私有仓库

也就是在本地(局域网)搭建的一个类似公共仓库的东西,搭建好之后,我们可以将镜像提交到私有仓库中。这样我们既能使用 Docker 来运行我们的项目镜像,也避免了商业项目暴露出去的风险。

1. 拉取私有仓库镜像

Docker 官方提供了一个搭建私有仓库的镜像 registry ,只需把镜像下载下来,运行容器并暴露 5000 端口,就可以使用了。

docker pull registry:2

2. 运行镜像注册中心

docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2

Registry 服务默认会将上传的镜像保存在容器的 /var/lib/registry,我们将主机的 /opt/registry 目录挂载到该目录,即可实现将镜像保存到主机的 /opt/registry 目录了。

3. 验证

http://192.168.23.139:5000/v2

出现下面情况说明 registry 运行正常

img

4. 推送镜像到私有仓库

现在通过 push 镜像到 registry 来验证一下。

要通过 docker tag 将该镜像标志为要推送到私有仓库:

docker tag nginx:latest localhost:5000/nginx:latest

通过 docker push 命令将 Nginx 镜像 push到私有仓库中:

docker push localhost:5000/nginx:latest

查看镜像

http://192.168.23.139:5000/v2/_catalog

查看私有仓库目录,可以看到刚上传的镜像了

img

下载私有仓库的镜像,使用如下命令:

#先删除刚才的镜像
docker  rmi  -f 镜像id
#本地拉取
docker pull localhost:5000/镜像名:版本号
例如
docker pull localhost:5000/nginx:latest

常见问题:

如果拉取过程中报错或者 Registry 交互默认使用的是 HTTPS,但是搭建私有镜像默认使用的是 HTTP 服务

需要修改 [docker daemon](https://www.zhihu.com/search?q=docker daemon&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra={“sourceType”%3A"answer"%2C"sourceId"%3A2549303851}) 的启动参数(需要访问仓库的其他机器),添加如下参数,表示信任这个私有仓库,不进行安全证书检查(centos7为例)

修改 daemon.json 文件:

/etc/docker/daemon.json.rpmsave
mv daemon.json.rpmsave daemon.json

vi /etc/docker/daemon.json

添加以下内容,用于让 Docker 信任私有仓库地址,保存退出。

{
    "insecure-registries": ["192.168.23.139:5000"]
}

重启:

# 重新加载某个服务的配置文件
sudo systemctl daemon-reload
# 重新启动 docker
sudo systemctl restart docker
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值