翼度科技»论坛 云主机 服务器技术 查看内容

内网环境下registry搭建步骤详解

11

主题

11

帖子

33

积分

新手上路

Rank: 1

积分
33


背景

在实际的开发运维过程中,经常需要使用镜像仓库的情况,虽然阿里云、腾讯云等都提供了带有免费额度的镜像仓库服务,但是由于账号等问题,我们还是需要自己搭建一个镜像仓库服务,供内网环境下使用。
大致的步骤:

  • 准备docker环境
  • 配置非http访问( Insecure Registries)
  • 重新家在docker
  • 启动registry
  • 启动registry-web

docker环境

假设你的本地已经装好了docker-ce,并且可以正常运行。
参考:
  1. docker desktop for windows
  2. docker desktop for mac
  3. apt-get install docker
  4. yum install docker
复制代码
配置http可访问

默认的docker与docker registry交互是需要在https的环境下交互的,但是大多数情况下我们的服务是在内网的安全环境下的,我们只需要使用http即可。 幸好docker为我们预留了可以使用http的方法。 那就是需要修改
  1. deamon.json
复制代码
文件。
如果你是mac或者是windows的desktop端,需要点击设置,修改docker engine里的设置:

添加图中框起来的代码:
  1.   "insecure-registries": [
  2.     "192.168.10.206:5000"
  3.   ]
复制代码
注:ip是下面registry服务部署的机器ip 5000时registry服务默认的暴露端口 我们可以自行修改
如果您是linux环境,需要修改
  1. /etc/docker/deamon.json
复制代码
文件,如果没有这个文件,可以新建。

重新加载docker

desktop在配置完之后,我们可以直接点击
  1. Apply & Restart
复制代码
按钮进行重启。 linux环境下
  1. sudo systemctl status docker
  2. sudo systemctl reload docker
  3. sudo systemctl restart docker
复制代码
其中第二个命令执行完即可,如果未生效,可以继续执行第三个命令。 第三个命令执行完之后,那些容器的启动策略不是always的就会停掉。所以我们要慎重使用这个命令。

启动registry

设定当前目录为工作环境,创建config.yml文件如下:
  1. version: 0.1
  2. log:
  3.   fields:
  4.     service: registry
  5. storage:
  6.   delete:
  7.     enabled: true
  8.   cache:
  9.     blobdescriptor: inmemory
  10.   filesystem:
  11.     rootdirectory: /var/lib/registry
  12. http:
  13.   addr: :5000
  14.   headers:
  15.     X-Content-Type-Options: [nosniff]
  16. health:
  17.   storagedriver:
  18.     enabled: true
  19.     interval: 10s
  20.     threshold: 3
复制代码
执行命令:
  1. mkdir data
  2. docker run -d \
  3.     --name registry-server \
  4.     --restart=always \
  5.     -p 5000:5000 \
  6.     -v `pwd`/data:/var/lib/registry \
  7.     -v `pwd`/config.yml:/etc/docker/registry/config.yml \
  8.     registry
复制代码
访问
  1. ip:5000/v2/_catalog
复制代码
即为部署成功

测试:
  1. docker pull alpine
  2. docker tag alpine:latest 192.168.10.206:5000/alpine:latest
  3. docker push 192.168.10.206:5000/alpine:latest
复制代码
启动registry-web

由于官方的registry只是提供了api,没有一个图形化界面供显示和操作,所以我们可以利用第三方提供的镜像启动一个图形化页面。
进入一个工作目录。 创建
  1. config.yml
复制代码
文件
  1. registry:
  2.   # Docker registry url
  3.      url: http://192.168.10.206:5000/v2
  4.      # Docker registry fqdn
  5.      name: localhost:5000
  6.      # To allow image delete, should be false
  7.      readonly: false
  8.      auth:
  9.      # Disable authentication
  10.          enabled: false
复制代码
启动容器
  1. docker run -d \
  2.     -p 8080:8080 \
  3.     --name registry-web \
  4.     --restart=always \
  5.     -v $(pwd)/config.yml:/conf/config.yml:ro \
  6.     hyper/docker-registry-web
复制代码
访问
  1. ip:8080
复制代码
,看到如下页面,大功告成。

以上就是内网环境下registry搭建步骤详解的详细内容,更多关于内网环境registry搭建的资料请关注脚本之家其它相关文章!

来源:https://www.jb51.net/article/266169.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具