1、系统配置
服务端:centos 7
客户端:Windows 10
2、搭建服务端
# 下载 registry
docker pull registry
# 挂载相关的配置
mkdir -p /docker/registry/auth
# 生成账号密码:name password123
docker run --entrypoint htpasswd registry:latest -Bbn name password123 >> /docker/registry/auth/htpasswd
# 设置配置文件
mkdir -p /docker/registry/config
vim /docker/registry/config/config.yml
# 输入以下文件
version: 0.1
log:
fields:
service: registry
storage:
delete:
enabled: true
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
启动:
docker run -d -p 5005:5000 --restart=always --name=registry \
-v /docker/registry/config/:/etc/docker/registry/ \
-v /docker/registry/auth/:/auth/ \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-v /docker/registry/:/var/lib/registry/ \
registry
3、配置Windows客户端
1、登录搭建的私有docker仓库
docker login 106.114.114.114:5005
输入用户名密码,这个地方会报错,解决办法会贴截图
Error response from daemon: Get https://106.114.114.114:5005/v2/: http: server gave HTTP response to HTTPS client
2、标记本地镜像
# docker tag 选择一个镜像 服务端IP:端口/镜像名:版本
docker tag redis:latest 106.114.114.114:5005/redis:latest
3、推送镜像到仓库
docker push 106.114.114.114:5005/redis:latest
4、配置centos客户端
1、# 一样的操作,我们先登录
docker login 106.114.114.114:5005
# Error response from daemon: Get https://106.114.114.114:5005/v1/users/: dial tcp 106.114.114.114:5005: i/o timeout
# 解决:https://blog.csdn.net/quanqxj/article/details/79479943
# Error response from daemon: Get https://106.114.114.114:5005/v2/: http: server gave HTTP response to HTTPS client
# 解决:
# vim /etc/docker/daemon.json
# 添加如下内容
# {"insecure-registries":["106.114.114.114:5005","106.114.114.114"]}
2、标记本地镜像
# docker tag 选择一个镜像 服务端IP:端口/镜像名:版本
docker tag redis:latest 106.114.114.114:5005/redis:latest
3、推送镜像到仓库
docker push 106.114.114.114:5005/redis:latest
5、查看效果
1、到服务端查看:
cd /docker/registry/docker
# 会有一个docker的文件夹
tree
2、到客户端测试:
# 先将我们生成的镜像 rmi 掉
docker rmi 106.114.114.114:5005/redis:latest
# 拉取私库镜像
docker pull 106.114.114.114:5005/redis
3、查看私有容器中的所有镜像:
curl -u "name:password123" -X GET http://106.114.114.114:5005/v2/_catalog
这就已经成功了
6、注意点
1、这篇文章基本不算原创,原博主的客户端只不过是centos的,我的是Windows的。当有需要客户端是centos的可以直接看原博主,顺便如果按照上面操作OK了,也强烈推荐看下原博主的文章,有很多私有库其余的知识点可以学习
shida_csdn:https://blog.csdn.net/shida_csdn/article/details/78435971
2、下一篇提供搭建docker私有库,配置证书模式
3、我深知以上提供的教程还是不算完整,有些地方还是会有问题,
提供一个群:807770565,欢迎各位进来尬聊