美文网首页
第一章 docker 镜像,容器,仓库基本命令(二)

第一章 docker 镜像,容器,仓库基本命令(二)

作者: 丿易小易 | 来源:发表于2018-01-23 11:36 被阅读15次

    仓库(repository)是镜像存放的地方,目前官方维护了一个公共仓库 https://hub.docker.com; 具体的操作自行百度, 这里我们讨论如何搭建私有仓库

    1.拉取仓库

    $ docker run -d -p 5000:5000 registry
    

    2.设置仓库私有地址

    将如下命令粘到cmd中执行  192.168.31.203:5000 是你私有仓库的地址
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "insecure-registries": ["192.168.31.203:5000"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    3.将镜像创建私库标签

     $ docker tag imageregistry 192.168.31.203:5000/testregistry
    

    4.上传镜像到私有仓库

    $ docker push 192.168.31.203:5000/testregistry
    

    5.查看镜像是否已经上传到私有仓库

    $ curl -X GET http://192.168.31.203:5000/v2/_catalog
    

    6.进入容器内部查看镜像文件

    $docker exec -it  registryId sh 
    $cd /var/lib/registry/docker/registry/v2/repositories/
    注意: registry v1 与 V2 不同, 这里是用的是V2版本
        V1版本是在 /tmp/registry 下
        V2版本是在 /var/lib/registry/ 下
    

    7.将仓库映射到主宿机上(这是一个新的仓库, 上面的仓库要停掉,不然端口冲突)

    7.1 重新创建私有仓库
      $ docker run -d -p 5000:5000 --restart=always \
        -v /opt/:/var/lib/registry/ \
        registry
    
      容器/var/lib/registry/下的镜像生成时会自动添加 docker/registry/v2 的路径,所以这里就直接映射到宿主机的/opt下, 上传后会自动生成 /opt/docker/registry/v2路径
    
      查看仓库内容, 发现是空, 在宿主机上的/opt/docker/registry/也为空
    
    7.2重新上传镜像到仓库
     $ docker push 192.168.31.203:5000/testregistry
    
    7.3删除本地的镜像,重新拉取(毫秒级完成)
       $ docker rmi 192.168.31.203:5000/testregistry
       $ docker pull 192.168.31.203:5000/testregistry
    

    恭喜你已经完成了私有库v2版本的搭建; 开始你的docker镜像拉取私有库时代吧!

    相关文章

      网友评论

          本文标题:第一章 docker 镜像,容器,仓库基本命令(二)

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