美文网首页
docker 私有仓库搭建

docker 私有仓库搭建

作者: 金刚_30bf | 来源:发表于2018-06-28 15:03 被阅读0次

版本: Docker version 18.03.1-ce, build 9ee9f40
参考官方文档:
https://docs.docker.com/samples/library/registry/#run-a-local-registry-quick-version
https://docs.docker.com/registry/deploying/
https://docs.docker.com/registry/insecure/

下载registry镜像

docker pull registry
去海外默认地址下载, 网上说有墙,但我用着是没墙,可以下载。

启动镜像

  1. 创建宿主机保存镜像的目录
    mkdir -p /root/my_docker_registry

  2. 启动 服务
    docker run -d -p 5000:5000 --restart always -v /root/my_docker_registry:/var/lib/registry registry

[root@node205 my_docker_registry]# docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                      PORTS                    NAMES
5b0159edad4b        registry                     "/entrypoint.sh /etc…"   6 seconds ago       Up 4 seconds                0.0.0.0:5000->5000/tcp   eloquent_poincare

可以使用 docker inspect 5b0159edad4b 查看该registry的详细信息。

验证及配置

  1. 直接push一个镜像
[root@node205 my_docker_registry]# docker push node205:5000/hello-world
The push refers to repository [node205:5000/hello-world]
An image does not exist locally with the tag: node205:5000/hello-world

需要先打tag 。

  1. 打tag 后push
docker tag hello-world  node205:5000/hello-world

[root@node205 my_docker_registry]#  docker push node205:5000/hello-world
The push refers to repository [node205:5000/hello-world]
Get https://node205:5000/v2/: Gateway Timeout 

或者 

[root@node205 docker]# docker push 10.30.16.205:5000/hello-world
The push refers to repository [10.30.16.205:5000/hello-world]
2b8cbd0846c5: Retrying in 1 second 
received unexpected HTTP status: 501 Unsupported method ('POST')

报错原因: 私有仓库默认使用 https , 需要配置为使用http ; 另外,本环境使用了外网代理, 发现连接私有仓库会通过代理,需要配置不走代理。

参见官网: https://docs.docker.com/registry/insecure/#deploy-a-plain-http-registry
https://docs.docker.com/config/daemon/systemd/#httphttps-proxy

  • /etc/docker/daemon.json 编辑
{
  "insecure-registries" : ["myregistrydomain.com:5000"]
}

(通过日志发现,当启用insecure-registries时,会先尝试https ,不通,再使用http进行处理。 生产环境不建议使用之。)

  • 配置本地地址不走代理
    编辑/etc/systemd/system/docker.service.d/http-proxy.conf 和 /etc/systemd/system/docker.service.d/https-proxy.conf
[Service]    
Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

[Service]    
Environment="HTTPS_PROXY=https://proxy.example.com:443/" "NO_PROXY=localhost,127.0.0.1,node205"
  • 重启服务
systemctl daemon-reload

systemctl restart docker

网页验证

http://10.30.16.205:5000/v2/_catalog

可以看到 {"repositories":["hello-world"]}

其他节点配置使用

  1. 配置代理中增加NO_PROXY, 同master上配置

  2. 配置daemon.json ,同master上配置

  3. 使用 docker pull 或push 从私有仓库中下载或上传

相关文章

  • Docker

    构建镜像仓库 Docker运行java程序 1.1.6 搭建docker私有仓库 新建私有仓库 1.2.1 数据挂...

  • 5.私有与公有镜像仓库

    一. 搭建私有镜像仓库 Docker Hub作为Docker默认官方公共镜像;如果想自己搭建私有镜像仓库,官方也提...

  • Docker

    一、Docker 私有仓库搭建 环境centos 6 192.168.1.2 Docker 仓库 192.168....

  • k8s学习笔记-5-私有harbor

    5 创建docker私有仓库 使用node5节点搭建harbor私有仓库 harbor仓库依赖docker和doc...

  • Docker搭建私有仓库之Harbor

    Docker搭建私有仓库之Harbor Harbor Harbor是构建企业级私有docker镜像的仓库的开源解决...

  • Docker之八私有仓库

    个人专题目录 Docker 私有仓库 1. 私有仓库搭建 2. 将镜像上传至私有仓库 3. 从私有仓库拉取镜像

  • 搭建docker私有仓库(3)

    至于为什么搭建docker私有仓库,原因很简单,把项目放到docker公有仓库,或者是阿里云的docker仓库,是...

  • Docker私有仓库

    一、Docker私有仓库搭建与配置 1、拉取私有仓库镜像 2、启动私有仓库容器 3、打开浏览器输入地址http:/...

  • docker container monitor

    原文:利用TICK搭建Docker容器可视化监控中心 前言 前面已经搭建了私有docker仓库以及用docker-...

  • Harbor搭建私有Docker仓库

    前言:搭建私有docker仓库,方便部署扩展我们服务... ⚠️必须安装docker(1.10+)和docker-...

网友评论

      本文标题:docker 私有仓库搭建

      本文链接:https://www.haomeiwen.com/subject/jucfyftx.html