06-Docker搭建私有仓库

六、Docker创建私服仓库

registry私服仓库

6.1、私有仓库搭建与配置

  • Docker官方的Docker hub(https://hub.docker.com)是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像到本地,也可以把我们自己的镜像推送上去
  • 但是,有时候我们的服务器无法访问互联网,或者不希望将自己的镜像放到公网中,那么我们就需要搭建自己的私有仓库来存储和管理自己的镜像
  • 私有仓库的搭建如下所示

6.1.1、拉取私有仓库镜像

  • 命令
    • docker pull registry

6.1.2、启动私有仓库容器

  • 命令
    • docker run -di --name=myregistry -p 5000:5000 registry

6.1.3、浏览器访问私有仓库

windows访问的话,前提是防火墙开启5000端口,或者关闭防火墙

  • 开启端口

    • # 1、查看是否开启有5000端口
      firewall-cmd --list-port
      
      # 2、开启5000端口
      firewall-cmd --add-port=5000/tcp --zone=public --permanent
      
      # 3、重新加载防火墙
      firewall-cmd --reload
      
      # 4、查看端口是否开启成功
      firewall-cmd --list-port
      
      
  • PS:私服仓库的首页和其他的不同,其首页是(IP地址:端口号/v2/_catalog)

    • 访问:192.168.222.135:5000/v2/_catalog
    • 该页面表示私有仓库创建成功

6.1.4、修改daemon.json文件

  • 假设现在是另一台服务器,则需要修改daemon.json文件

    • vim /etc/docker/daemon.json
  • 在该文件中添加一个key,保存退出。用于让 docker 信任私有仓库地址,以方便拉取和上传等,修改内容如下所示

    • "insecure-registries":["宿主机IP:5000"]
      
    • PS:JSON文件中的元素记得用号隔开

6.1.5、重启docker服务,浏览器再次访问

  • 重启 docker 服务,同时及重启 myregistry 容器
    • systemctl restart docker
    • docker start myregistry

6.2、将镜像上传到私有仓库

  • 操作步骤如下所示

    • # 1、标记镜像为私有仓库的镜像
      # 语法:docker tag 镜像名称 私服软件所在的机器IP地址:5000/jdk1.8
      docker tag jdk1.8 192.168.222.135:5000/jdk1.8
      
      # 2、上传标记的镜像到私有仓库
      # 语法:docker push 宿主机IP:5000/jdk1.8
      docker push 192.168.222.135:5000/jdk1.8
      
      
  • 浏览器再次访问私服仓库首页,如下所示

6.3、从私有仓库拉取镜像

  • 若是在私有仓库所在的服务器上拉取镜像,那么直接执行如下命令

    • # 因为私有仓库所在的服务器上已经存在相关镜像,所以先删除;指定镜像名称,而不是id
      # 语法:docker rmi 服务器IP:5000/jdk1.8
      docker rmi 192.168.222.135:5000/jdk1.8
      
      # 删除jdk1.8容器(可略)
      docker rm jdk1.8
      
      # 拉取镜像
      # 语法: docker pull 服务器ip:5000/jdk1.8
      docker pull 192.168.222.135:5000/jdk1.8
      
      # 可以通过图下信息查看docker的信息;了解私有仓库地址(可略)
      docker info
      
posted @ 2022-07-16 19:03  OnlyOnYourself-Lzw  阅读(127)  评论(0编辑  收藏  举报