• 【Docker】本地镜像与私有库:发布、拉取,图文展示全过程


    Docker是基于Go语言实现的云开源项目。Docker的主要目标是**“Build,Ship and Run Any App,Anywhere”**。也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。

    在这里插入图片描述


    一、下载安装私有库

    • 官方Docker Hub地址:https://hub.docker.com/,中国大陆访问太慢了且准备被阿里云取代的趋势,不太主流。
    • Dockerhub、阿里云 这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。
    • Docker Registry 是官方提供的工具,可以用于构建私有镜像仓库。相当于本地有个私有Docker hub

    下载并运行私有库

    docker run -d -p 5000:5000 -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry
    
    • 1

    在这里插入图片描述

    二、推送到私有库

    1. 准备 安装了 ifconfig命令 的ubuntu镜像

      • 从Hub上下载ubuntu镜像到本地并成功运行,原始的Ubuntu镜像是不带着ifconfig命令的

        在这里插入图片描述

      • 外网连通的情况下,安装ifconfig命令并测试通过

        root@1c05aeae2405:/# apt-get update
        ...
        root@1c05aeae2405:/# apt-get install net-tools
        ...
        root@1c05aeae2405:/# ifconfig
        eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
                inet 172.17.0.3  netmask 255.255.0.0  broadcast 172.17.255.255
                ...
        lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
                inet 127.0.0.1  netmask 255.0.0.0
                ...
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
      • 安装完成后,提交成我们自己的新镜像

        docker commit -m "add config ok" -a "lzw" 1c05aeae2405 ifconfig/ubuntu:2.1
        
        • 1

        在这里插入图片描述

      • 启动我们的新镜像并和原来的对比

        在这里插入图片描述

    2. curl 验证私服库上有什么镜像1

      curl -XGET http://10.0.8.11:5000/v2/_catalog
      
      • 1

      在这里插入图片描述

    3. 将准备好的镜像修改符合私服规范的Tag

      docker tag ifconfig/ubuntu:2.1 10.0.8.11:5000/ifconfig/ubuntu:1.2
      
      • 1

      在这里插入图片描述

    4. 修改配置文件使 docker 支持http

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

      "insecure-registries": ["10.0.8.11:5000"]
      
      • 1

      在这里插入图片描述

    5. push 推送到私服库并验证

      docker push 10.0.8.11:5000/ifconfig/ubuntu:1.2
      curl -XGET http://10.0.8.11:5000/v2/_catalog
      
      • 1
      • 2

      在这里插入图片描述

    三、下载到本地

    docker pull 10.0.8.11:5000/ifconfig/ubuntu:1.2
    
    • 1

    在这里插入图片描述

  • 相关阅读:
    MongoDB进阶指南!
    【7月5日活动预告】Flink峰会
    (附源码)mysql+ssm自助游服务系统 毕业设计 250858
    比Nginx测试桩更方便,ShenYu网关的Mock插件
    3.2python使用 matplotlib 实现可视化_python量化实用版教程(初级)
    请求转发和动态包含/生成响应信息/响应头/重定向/输出流
    用python做图片搜索引擎并保存到本地
    ‘mysql‘不是内部或外部命令,也不是可运行的程序或批处理文件
    设置Redis最大占用内存
    【精华】Python基础知识精华
  • 原文地址:https://blog.csdn.net/weixin_43401592/article/details/128153519