• Docker学习(3)—— 将容器转化为新的镜像,并将新镜像发布到阿里云公共仓库或私有仓库


    一. 将容器转化为镜像

    使用docker pull命令从远程仓库下载的镜像为base镜像,只具有最小的内核。我们可以在base镜像上安装其他工具,将其生成为一个新的镜像。相当于可以在原始的基础镜像上一层一层添加。

    例如:下载一个centos的镜像,其没有vim命令,我们可以启动centos的容器,然后添加vim命令,使用commit命令将容器转化为一个新的镜像;之后启动新生成镜像的容器,在该容器内就可以使用vim命令。commit命令为:

    docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名] 

    1. 下载centos7镜像

    docker pull centos:7

    2. 查看镜像id

    docker images

       

    3. 新建并启动centos7

    4. 在centos7容器内下载vim

    yum install vim

    5. 在容器外查看当前运行的centos7容器的id(ctrl+p+q退出但不停止容器,或新打开一个终端)

    docker ps

    6. 在容器外将centos7容器转化为一个新的镜像,该镜像将具有vim命令的功能。

    docker commit -m="add vim ok" -a="tom" 66f428876ae8 mycentos:7.1

     由于该镜像在原始的centos镜像上加了vim功能,因此大小从204MB增大到448MB。

    二. 将镜像发布到阿里云上

    1. 创建命名空间

    2. 创建镜像仓库

    创建阿里云镜像仓库后下面有操作信息,可以根据需求执行

    3. 将新镜像推送到阿里云仓库

    执行以下命令: 

    4. 将阿里云上的镜像拉取到本地

    删除本地的镜像,然后 执行以下命令将镜像从阿里云仓库中拉取下来:

    三. 将镜像上传到私有仓库

    1. 下载私服库镜像

    docker pull registry

    2.运行私有库Registry,相当于本地有个私有Docker hub

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

     默认情况下,仓库被创建在容器的/var/lib/registry目录下

    3. 验证私有库上是否有镜像(此时为空)

    curl -XGET http://192.168.32.128:5000/v2/_catalog

    4. 将新镜像mycentos:7.1修改为符合私服规范的Tag

    docker tag 镜像:Tag ip:port/镜像:Tag

     ip为linux系统本机的ip,例如:docker tag mycentos:7.1 192.168.32.128:5000/mycentos:7.1(使用docker tag命令将mycentos:7.1修改为192.168.32.128:5000/mycentos:7.1)

     

    5. 修改配置文件来支持http

    使用vim命令在/etc/docker/daemon.json中添加以下内容

     "insecure-registries": ["本机ip:5000"]

    "insecure-registries": ["192.168.32.128:5000"]

    6. 将新镜像推送到私服库(此时私有库Registry应为运行状态)

    docker push 192.168.32.128:5000/mycentos:7.1

    7. 验证私有库上是否有镜像

    curl -XGET http://192.168.32.128:5000/v2/_catalog

     

    8. 将私有库上的镜像拉取到本地

    docker pull 192.168.32.128:5000/mycentos:7.1
  • 相关阅读:
    机器学习--支持向量机(sklearn)
    管理体系标准
    【C++修理之路】内存管理
    名单揭晓 | 2021年度中国杰出知识产权服务团队
    odoo15 crm 客户资料导出按钮的实现
    NumLevels
    Redis高可用
    实例讲解Mysql最左匹配原则。
    快捷输入法怎么设置
    从0到1搭建ES集群
  • 原文地址:https://blog.csdn.net/Archer__13/article/details/128018804