docker配置私有registry&局域网使用

0x00 环境

Ubuntu 18.04
docker-ce 18.06

0x01 pull&run registry

官方拉registry镜像运行
docker run -dt -p PORT:5000 --restart=always --name NAME registry
#--restart=always 每次启动docker启动该容器
或者挂在本地目录到容器目录
docker run -dt -p PORT:5000 --restart=always -v /opt/data/registry:/var/lib/registry --name NAME registry
进入registry
docker exec -it CONTAINERID sh

0x02 非本机连接registry

由于现在的docker默认https,运行registry容器之后只能通过本地ip 127.0.0.1:5000上传镜像,如果需要在局域网内进行pull和push的话需要在进行pull和push的机器上设置.

证书比较麻烦,选择增加非安全连接白名单
sudo chmod 777 /etc/docker/daemon.json
vim /etc/docker/daemon.json
在{}内添加
"insecure-registries":["IP:PORT"]
注意:如果之前该文件有内容的话,比如aliyun的加速地址,那么记得在后面添加逗号
保存退出
sudo systemctl daemon-reload #reload daemon
sudo systemctl restart docker #restart docker

0x03 test

拉取一个镜像,以hello-world示例
docker pull hello-world #拉取hello-world镜像
docker tag hello-world:latest IP(or 127.0.0.1):PORT/NAME:VERSION
#给镜像贴上标签
#IP(or 127.0.0.1):PORT是必须的,用于docker识别私有仓库
#NAME:VERSION为一般格式
push标记镜像
docker push IP(or 127.0.0.1):PORT/NAME:VERSION
#IP(or 127.0.0.1):PORT/NAME:VERSION 之前写的什么就用什么
用curl查看registry中的镜像
curl IP(or 127.0.0.1):PORT/v2/_catalog
pull之前push的镜像
docker pull IP(or 127.0.0.1):PORT/NAME:VERSION
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容