zoukankan      html  css  js  c++  java
  • 第一章 docker 镜像,容器,仓库基本命令(二)

    仓库(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镜像拉取私有库时代吧!

  • 相关阅读:
    sqoop导出数据
    sqoop导入数据
    Hive学习(二)
    各个版本的集群安装包地址
    Hive学习(一)
    数据仓库
    HBase学习(二)
    HBase学习(一)
    MySQL中阻塞
    MySQL中锁问题
  • 原文地址:https://www.cnblogs.com/yixiaoyi/p/di-yi-zhang-docker-jing-xiang-rong-qi-cang-ku-ji-b.html
Copyright © 2011-2022 走看看