docker镜像制作commit方式

作者: VellBibi | 来源:发表于2018-06-29 17:09 被阅读7次

    docker镜像制作

    可以先基于一个已有镜像,通过bash添加自己需要的环境,然后commit一下【虽然官方不建议通过commit方式来创建,如果不担心镜像会越来越大的话,这种方式是最自由最简单的,通过dockerfile当然是更优的啦】

    基于tensorflow官方镜像做修改,https://hub.docker.com/r/tensorflow/tensorflow/

    拉线上镜像

    docker pull tensorflow/tensorflow
    

    运行bash

    docker run -it tensorflow/tensorflow bash
    

    安装python3+tensorflow-gpu+keras等等

    安装完环境后退出docker

    exit
    

    查看所有docker容器,找到要commit的容器id

    docker ps -a
    

    结果如下:


    这里我要commit的容器id为00ff1b764a1b

    commit制作镜像

    官方文档:https://docs.docker.com/engine/reference/commandline/commit/

    docker commit -a "vellhe" -m "py3.6_tf1.8_keras2.2" 00ff1b764a1b tf_keras:v1
    

    查看制作出来的镜像

    docker images
    

    将制作出来的镜像提交到https://hub.docker.com

    需要先注册一个账号,然后创建一个REPOSITORY,在本地将镜像标记成和线上一样的REPOSITORY名,最后在本地登录账号并push到线上

    • 注册账号并创建REPOSITORY
      我创建的REPOSITORY:


    • 将镜像标记成同名REPOSITORY


    • 登录账号
    docker login
    
    • push到线上



      通过commit搭建的镜像真的比较大,上传就只能慢慢等了

    镜像导出导入

    由于我网络堪忧,要都依赖线上镜像的话,镜像拷贝真的要死要死的了,所以必须线下导出导入
    有两种方案:save&load、export&import

    • save&load 【保存镜像,并不是容器】
    # save
    docker save vell001/tf-keras > tf-keras.tar
    # load
    docker load < tf-keras.tar
    
    • export&import 【Export命令用于持久化容器(不是镜像),不会保留镜像的层级信息,所以大小会比save要小】
    docker export 33f6c8359187 > tf-keras-33f6c8359187.tar
    docker import tf-keras-33f6c8359187.tar
    

    相关文章

      网友评论

        本文标题:docker镜像制作commit方式

        本文链接:https://www.haomeiwen.com/subject/tqgayftx.html