zoukankan      html  css  js  c++  java
  • 【Docker构建私有仓库】

    Docker默认不允许非HTTPS方式推送镜像,我们可以通过Docker的配置选项来取消此限制:

    [root@fedora ~]# cat /etc/docker/daemon.json 
    {
    	"registry-mirrors": ["http://95822026.m.daocloud.io"],
    	"insecure-registries": ["192.168.43.174:5000"]
    }
    # ⚠️这是Json格式
    

    将上面的文件写入到docker服务配置文件中的[Service]配置项下:

    [root@fedora ~]# grep 'EnvironmentFile=/etc/docker/daemon.json' /lib/systemd/system/docker.service
    EnvironmentFile=/etc/docker/daemon.json
    

    完事后重新载入systemd并重启docker:

    [root@fedora ~]# systemctl daemon-reload
    [root@fedora ~]# systemctl restart docker
    

    下面的步骤将构建一个私有仓库


    下载官方提供的私用仓库镜像,和一个用于测试的镜像:

    # 下载私用仓库镜像
    [root@fedora ~]# docker pull registry
    
    # 下载用于测试的镜像
    [root@fedora ~]# docker pull hello-world
    

    下载完成后,启动私有仓库registry容器:

    # 私有仓库会被创建在容器的/var/lib/registry目录下
    # 可通过-v参数将宿主机的目录挂载到容器中的目录,这样便可在宿主机中查看镜像文件
    [root@fedora ~]# docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry
    

    测试连通性:

    [root@fedora ~]# telnet localhost 5000
    

    连通后,开始修改用于测试的镜像:

    # 修改tag,以docker registry的地址端口开头
    [root@fedora ~]# docker tag hello-world:latest 192.168.43.174:5000/hello-world:latest
    

    推送本地镜像至私有仓库:

    [root@fedora ~]# docker push 192.168.43.174:5000/hello-world
    

    推送后,查询仓库:

    [root@fedora ~]# curl http://192.168.43.174:5000/v2/_catalog
    {"repositories":["hello-world"]}  # 可见,我们的hello-world镜像上传成功了
    

    下载私有仓库中的镜像:

    # 先将本地的测试镜像删除了
    # 因为上面修改过测试镜像的tag,所以本地会有两个相同ID的镜像,这里我们指定镜像ID删除
    [root@fedora ~]# docker rmi -f 4ab4c602aa5e
    
    # 删除后,再下载仓库中的镜像
    [root@fedora ~]# docker pull 192.168.43.174:5000/hello-world
    

    ok,到这里就结束了.

  • 相关阅读:
    创业艰难
    2013.5.20 a
    碱基对
    安装免费在线客服livezilla系统
    简单实现后台订单页面 上一单,下一单 的按钮
    zencart新进产品滚动
    ZEN CART 一级分类显示所有二级分类产品
    frame弹出框
    zen cart 打开错误信息显示调试开关
    zencart外贸网站促销方案
  • 原文地址:https://www.cnblogs.com/zyk01/p/10176554.html
Copyright © 2011-2022 走看看