docker学习整理(三)

私有registry

部署私有registry

  通过docker提供的镜像registry部署私有仓库,下载仓库registry

  docker pull registry

  启动容器:

  docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

  命令说明:

    1.registry默认会把镜像保存在/var/lib/registry目录下。将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录。

    2.-p 5000:5000 将仓库5000端口绑定到宿主机5000端口

    3.--restart=always 自动重启

  查看是否已启动

  docker ps | grep registry

  浏览器查看 http://ip:5000/v2

推送镜像

  通过将镜像push到registry来验证,首先将主机的registry镜像命名为符合仓库要求registry_url:port/ImageName:tag的格式

  查看镜像  docker images 

    REPOSITORY TAG IMAGE ID CREATED SIZE
    my latest 2857cfc72122 3 hours ago 379MB

  镜像打包  docker tag  my 192.168.1.123:5000/my

    

  推送镜像:docker push 192.168.1.123:5000/my

    此时可能会报如下错误:

    The push refers to repository [192.168.1.123:5000/my]
    Get https://192.168.1.123:5000/v2/: http: server gave HTTP response to HTTPS client

  

    这是因为我们启动的registry服务不是安全可信赖的。这时需要修改客户端docker的配置文件/etc/docker/daemon.json,添加下面蓝色的内容(registry服务地址)  

    {
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],
    "insecure-registries":["192.168.1.123:5000"]
    }

       "registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com"] 是阿里云代理的Registry Hub仓库的地址,可以加快国内访问Registry Hub仓库的速度。

     重启docker: systemctl restart docker   重启上传即可。

  查看仓库 

    

    http://192.168.1.123:5000/v2/_catalog

    

  拉取镜像

    删除已存在镜像docker rmi 

     

  

原文地址:https://www.cnblogs.com/guanhao0114/p/14230044.html