应用场景: 在局域网中
充当局域网中的代理服务器192.168.31.3:19966
章节适用说明:
一、网络配置
使docker可以上网,从而可以拉取registry
docker push 192.168.31.5:5000/tag_name
需要断开docker代理这样其实很不方便,改进的局域网私有仓库搭建思路:
push
到私有仓库时需要断开代理的麻烦直接拉取局域网B仓库的镜像
sudo vi /lib/systemd/system/docker.service
在[Service]部分下增加Environment字段,配置http代理地址
[Service]
Environment="HTTP_PROXY=192.168.31.3:19966/" "HTTPS_PROXY=192.168.31.3:19966/"
重启docker服务
systemctl daemon-reload
systemctl restart docker
vim /etc/docker/daemon.json
阿里镜像(可以自己申请加速地址)1
{
"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
}
中科大源:
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
docker pull registry
拉取成功之后,使用docker images -a
检查是否存在registry
docker run -d -p 5000:5000 --name="docker-registry" --restart=always -v /root/docker/registry/:/var/lib/registry/ registry
注:
将B(ip:192.168.31.5)的registry
镜像push
到局域网私有仓库(其实还是在B的主机上,但是局域网中的其他机器可以访问到)
registry
镜像做一个标签docker tag registry 192.168.31.5:5000/liu/registry
push
到局域网私有仓库,docker不使用代理docker push 192.168.31.5:5000/liu/registry
{"repositories":["liu/registry"]}
,成功curl 192.168.31.5:5000/v2/_catalog
第二步出错:
The push refers to repository [192.168.31.5:5000/liu/registry] Get https://192.168.31.5:5000/v2/: http: server gave HTTP response to HTTPS client
解决:
vim /etc/docker/daemon.json
加入:
"insecure-registries": [
"192.168.31.5:5000"
]
service docker restart
docker pull 192.168.31.5:5000/liu/registry
Error response from daemon: Get https://192.168.31.5:5000/v2/: http: server gave HTTP response to HTTPS client
解决:
vim /etc/docker/daemon.json
加入:
"insecure-registries": [
"192.168.31.5:5000"
]
service docker restart
https://blog.csdn.net/qq_37495786/article/details/83246421 ↩︎
https://www.jb51.net/article/155113.htm ↩︎