docker通过运行容器制作共享tar镜像包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker通过运行容器制作共享tar镜像包相关的知识,希望对你有一定的参考价值。

  • 镜像构建:
    docker commit 【option】
    -a 指明作者
    -p 暂停容器再建立镜像

    [[email protected] ~]# docker commit -p -a "vicliaoxz <[email protected]>" centos2
    sha256:ead743182b50ba021d5eee144aad229cbcf093f6796363b11e366f6117a62fab
    [[email protected] ~]# docker images
    REPOSITORY            TAG                 IMAGE ID            CREATED              SIZE
    <none>                <none>              ead743182b50        About a minute ago   302 MB
    [[email protected] ~]# docker run -it --name c-net-tools ead743182b50
    [[email protected] /]# ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.4  netmask 255.255.0.0  broadcast 0.0.0.0
        inet6 fe80::42:acff:fe11:4  prefixlen 64  scopeid 0x20<link>
  • 给镜像添加标签

    docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
    [[email protected] ~]# docker tag ead743182b50(ID) vicdockerhub(用户名)/centos(基础镜像):net-tools(标签)
    [[email protected] ~]# docker images
    REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
    vicdockerhub/centos   net-tools           ead743182b50        21 minutes ago      302 MB
  • 推送镜像
    3.1.推送到docker-hub(需要注册一个dockerhub账号)
    [[email protected] ~]# docker login -u vicdockerhub 
    Password: 
    Login Succeeded
    [[email protected] ~]# docker push vicdockerhub/centos:net-tools 
    The push refers to a repository [docker.io/vicdockerhub/centos]
  • 3.2.上传到私有仓库:
    docker tag vicdockerhub/centos:net-tools myregistry.liaoxz.xin:5000/vicdockerhub/centos:net-tools

    1. 将镜像保存为tar包
      docker ecport 导出为一个容器
      
      Usage:  docker save [OPTIONS] IMAGE [IMAGE...]
      Options:
      -o, --output string   Write to a file, instead of STDOUT

    [[email protected] ~]# docker save vicdockerhub/centos:net-tools -o centos-net-tools.tar
    [[email protected] ~]# ls
    centos-net-tools.tar

    
    
    5. 外部tar包导入镜像
    docker load
    docker load -i 指定镜像tar包
    
    [[email protected] ~]# docker load -i centos-net-tools.tar 
    Loaded image: vicdockerhub/centos:net-tools
    [[email protected] ~]# docker images
    REPOSITORY                                       TAG                 IMAGE ID            CREATED             SIZE
    myregistry.liaoxz.xin:5000/vicdockerhub/centos   net-tools           ead743182b50        51 minutes ago      302 MB
    vicdockerhub/centos                              net-tools           ead743182b50        51 minutes ago      302 MB

    以上是关于docker通过运行容器制作共享tar镜像包的主要内容,如果未能解决你的问题,请参考以下文章

    docker commit 制作镜像

    Docker10 容器存储

    Docker镜像制作和管理

    SpringBoot项目打包部署到阿里云服务器通过Maven插件制作Docker镜像部署项目容器配置生产环境

    Docker的备份和迁移

    Docker教程系列八:Docker备份与迁移(完)