Docker私有仓库

  • 2019-09-02
  • 0
  • 0

环境:
docker01 客户端
docker02 服务端(仓库)

搭建步骤

1、获取镜像仓库服务

[root@docker02 ~]# docker pull registry

2、启动仓库容器

[root@docker02 ~]# docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry

参数说明:
    -d                      后台运行
    -p                      端口映射
    --restart=always        > 随宿主机自动重启
    --name                  指定仓库名称
    -v                      卷挂载管理,持久化

3、上传镜像到私有仓库

3.1、先给镜像打标签

格式:docker tag 源镜像名字:版本 私有仓库地址/镜像名字:版本

[root@docker02 ~]# docker tag nginx:latest 10.0.0.11:5000/nginx:last

3.2、推送到私有仓库

[root@docker02 ~]# docker push 10.0.0.11:5000/nginx:last 

如果报错
默认走的443协议

The push refers to repository [10.0.0.11:5000/centos6.9_ssh] Get https://10.0.0.11:5000/v2/: http: server gave HTTP response to HTTPS client

解决方法

# 添加受信任地址
[root@docker02 ~]# vim /etc/docker/daemon.json 
{ 
"insecure-registries": ["10.0.0.11:5000"] 
} 
[root@docker02 ~]# systemctl restart docker

4、下载私有仓库的镜像

[root@docker01 repositories]# docker pull 10.0.0.11:5000/nginx:v1

4.1、查看镜像列表

使用浏览器访问:http://10.0.0.11:5000/v2/_catalog
查看镜像列表

4.2、查看镜像的版本:以nginx为例

http://10.0.0.11:5000/v2/nginx/tags/list
查看镜像的版本

5、带basic认证的registry

yum install httpd-tools -y 
mkdir /opt/registry-var/auth/ -p htpasswd -Bbn oldboy 123456 >> /opt/registry-var/auth/htpasswd

docker run -d -p 5000:5000 --restart=always -v /opt/registry-var/auth/:/auth/ -v /opt/myregistry:/var/lib/registry -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" registry

评论

还没有任何评论,你来说两句吧

提供支持 - 友情链接 - 衫小寨