• Docker将镜像文件发布到私服库


    一、创建新镜像文件

    1、创建容器并在容器内创建文件

    在根目录下创建 /xiaohemiao/test.txt 并在test.txt文件中写入一些内容

    2、提交容器副本使之成为一个新的镜像

    # 提交格式docker commit -m="提交的描述信息" -a="作者" 容器id 要创建的目标镜像名:[标签名,也就是版本号]
    

    二、本地镜像推送到私有库

    1、下载镜像Docker Registry

    docker pull registry
    

    2、创建本地私有容器库

    # 创建一个名为registry的容器,将宿主机5000端口映射到容器的5000端口,将宿主机的/myregistry目录映射到容器/tmp/registry目录作为数据容器卷docker run -id -p 5000:5000 -v /myregistry/:/tmp/registry --privileged=true registry默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便与宿主机联调
    

    3、curl验证私服库上的镜像

    # IP地址是自己宿主机的ip,端口号是刚刚创建容器映射的宿主机端口curl -XGET http://192.168.140.129:5000/v2/_catalog
    

    4、将新镜像myredis:latest修改符合私服规范的Tag

    # 格式 docker tag 镜像名称:版本号 ip:端口/镜像名称:版本号docker tag myredis:latest 192.168.140.129:5000/myredis:latest
    

    5、修改配置文件使之支持http

    vi /etc/docker/daemon.json
    

    添加如下配置:insecure-registries":["192.168.140.129:5000"]

    上述理由:docker默认不允许http方式推送镜像,通过配置选项来取消这个限制,修改完后如果不生效,建议重启docker

    6、push推送到私服库

    # 后台配置重新加载systemctl daemon-reload
    

    重启docker服务

    systemctl restart docker

    查看配置的端口号(5000)是否开启(非必要)

    netstat -nlpt

    # 推送到私服docker push 192.168.140.129:5000/myredis:latest
    

    7、重新查看私服库镜像有哪些

    # 查看私服镜像文件(ip地址修改成自己宿主机的ip)curl -XGET http://192.168.140.129:5000/v2/_catalog
    

    三、pull私服镜像

    首先先删掉目前docker上的镜像,然后再从私服镜像pull

    # pull私服镜像(ip地址填写当前宿主机的ip和端口)docker pull 192.68.140.129:5000/myredis:latest
    

  • 相关阅读:
    element中Notification组件(this.$notify)自定义样式
    ES6-箭头函数-this指向-rest参数(三点运算符)
    接口自动化测试实战:JMeter+Ant+Jenkins+钉钉机器人群通知完美结合
    Selenium
    MyBioSource抗 CD31/PECAM-1 抗体解决方案
    软件流程和管理(五):Stakeholder Management &Communication
    视频教程下载:用ChatGPT玩转海外抖音TikTok
    组态数据绑定入门,变量如何暴露给组态编辑
    神经网络有哪些基本功能,常见的神经网络有哪些
    图像分割 - 区域生长
  • 原文地址:https://blog.csdn.net/Java_ttcd/article/details/126299426