前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >构建Docker私有仓库

构建Docker私有仓库

作者头像
Liusy
修改2020-09-01 17:31:38
1K0
修改2020-09-01 17:31:38
举报
文章被收录于专栏:Liusy01

一、Docker私有仓库

上一篇说了如何利用Dockerfile在已有镜像的基础上构建自己的镜像,那么如果需要让镜像在一个团队中使用,就需要一个仓库,有几种方式可以共享私有镜像。

1、将镜像上传至Docker Hub中

2、利用第三方Docker Harbor

3、创建私有镜像仓库

第一种方式需要在Docker Hub中注册一个账号,然后在本地登陆账号进行上传,但这种方式不安全,因为谁都可以共享你的镜像。不推荐。

第二种方式需要下载Docker Harbor安装,其是用于存储和分发Docker镜像的企业级Registry服务器,需要Docker compose支持。还有对用户友好的界面化操作,推荐此方式。

第三种是Docker提供了一个Registry镜像,名为docker-distribution。咱今儿来部署这种简单的。

二、利用docker-distribution构建私有仓库

1、执行安装命令

代码语言:javascript
复制
yum install docker-registry

2、安装完之后使用如下命令查看

代码语言:javascript
复制
rpm -ql docker-distribution

/etc/docker-distribution/registry/config.yml:配置文件

/var/lib/registry:本地仓库

/usr/bin/registry:主程序

/usr/lib/systemd/system/docker-distribution.service:启动程序

3、启动私有仓库

代码语言:javascript
复制
systemctl start docker-distribution.service

其默认监听5000端口,使用ss -tnl查看linux上端口监听情况

4、推送镜像到私有仓库

(1)使用docker tag命令对镜像重新打标签

代码语言:javascript
复制
docker tag my_nginx:latest cnode-1:5000/nginx:v1.1

cnode-1:5000为仓库所在地址和ip,ngixn为顶层仓库,如果不加tag,则推全部名为nginx的镜像。

(2)推送镜像

代码语言:javascript
复制
docker push cnode-1:5000/nginx:v1.1

5、如果出现推送失败

是因为docker默认只支持https的协议,不支持http协议,此时需要在docker配置文件/etc/docker/daemon.json将私有仓库地址标记为非安全的registry

代码语言:javascript
复制

vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://kewfdyw2.mirror.aliyuncs.com"],
  "insecure-registries": ["cnode-1:5000"]
}

更改配置文件之后需要重启docker。

再次进行推送,情况如下图:

表明已经推送成功。

6、查看仓库

需要去目录/var/lig/registry中查看,如下图:

7、在其他机器上拉取镜像

需要在docker配置文件/etc/docker/daemon.json中将私有仓库添加为非安全的。

例如我在cnode-2中需要拉取镜像

(1)首先配置/etc/docker/daemon.json,配置之后需要重启才会生效

代码语言:javascript
复制

{
  "registry-mirrors": ["https://kewfdyw2.mirror.aliyuncs.com"],
  "insecure-registries": ["cnode-1:5000"]
}

(2)然后使用命令拉取镜像

代码语言:javascript
复制
docker pull cnode-1:5000/nginx:v1.1
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Liusy01 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档