docker私有仓库搭建

一、搜索镜像

docker search registry

二、拉取并启动镜像

[root@localhost ~]# docker run -d \  #后台运行该容器
> -p 5000:5000 \ #将容器内部5000的端口暴露给宿主机的5000端口上
> --restart=always \  #docker启动后,该镜像仓库容器自动启动
> --name registry \ #该容器名称为registry
> -v /mnt/registry:/var/lib/registry \  #将宿主机的/mnt/registry的目录,通过数据卷的方式,挂载到容器内部的/var/lib/registry
> registry:2 #镜像名称:版本号

 说明:

docker的registry有两个版本:v1和v2;

v1的容器内部默认镜像位置为/tmp/registry

v2的容器内部默认镜像位置为/var/lib/registry

 三、允许http方式推送

vim /etc/docker/daemon.json

添加

"insecure-registries": ["192.168.59.111:5000"]

键值对

这里的ip根据自己实际ip调整

 重启docker

[root@localhost mnt]# systemctl daemon-reload
[root@localhost mnt]# systemctl restart docker
[root@localhost mnt]# systemctl restart docker.service

四、推送镜像到私有仓库

1,给镜像打标签

docker tag wayne-nginx:latest 192.168.199.103:5000/wayne-nginx:20221016v1

2,推送镜像

docker push 192.168.199.103:5000/wayne-nginx:20221016v1

推送结果

 3,验证推送

浏览器中输入http://192.168.199.103:5000/v2/wayne-nginx/tags/list

出现如下提示:

 或者进入刚刚挂在的仓库对应的宿主机目录中,出现如下提示也表示推送成功

五、配置需要认证的私有仓库

1,创建目录并生成证书

执行如下命令生成证书:

openssl req -x509 -days 3650 -subj '/CN=192.168.199.103:5000/' -nodes -newkey rsa:2048 -keyout domain.key -out domian.crt

 2,生成用户名和密码

1,在registry目录下创建auth文件夹

2.安装httpd-tools工具包

yum install httpd-tools -y

3,执行如下命令生成用户名和密码

htpasswd -Bbn wayne 123456 > auth/htpasswd

 

4,创建包含认证的registry容器服务

执行命令:

docker run -d 
-p 5000:5000 
--restart=always 
--name registry 
-v /mnt/registry:/var/lib/registry 
-v /root/docker/registry/auth:/auth 
-e "REGISTRY_AUTH=htpasswd" 
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" 
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd 
-v /root/docker/registry/certs:/certs 
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domian.crt 
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key 
registry:2

 相关参数解释

 5,添加供其他dockers机器访问的接口

执行如下命令

[root@localhost registry]# mkdir -p /etc/docker/certs.d/192.169.199.103:5000
[root@localhost registry]# cp certs/domian.crt /etc/docker/certs.d/192.169.199.103\:5000/

 6,重启docker服务

[root@localhost registry]# systemctl reload docker
[root@localhost registry]# systemctl restart docker

 7,验证

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值