首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >docker镜像制作commit方式

docker镜像制作commit方式

原创
作者头像
vell001
发布2018-08-09 10:28:15
发布2018-08-09 10:28:15
1.8K0
举报
文章被收录于专栏:AI-vellAI-vell

docker镜像制作

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

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

拉线上镜像

代码语言:txt
复制
docker pull tensorflow/tensorflow

运行bash

代码语言:txt
复制
docker run -it tensorflow/tensorflow bash

安装python3+tensorflow-gpu+keras等等

安装完环境后退出docker

代码语言:txt
复制
exit

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

代码语言:txt
复制
docker ps -a

结果如下:

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

commit制作镜像

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

代码语言:txt
复制
docker commit -a "vellhe" -m "py3.6_tf1.8_keras2.2" 00ff1b764a1b tf_keras:v1

查看制作出来的镜像

代码语言:txt
复制
docker images

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

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

将镜像标记成同名REPOSITORY
登录账号docker loginpush到线上
通过commit搭建的镜像真的比较大,上传就只能慢慢等了

镜像导出导入

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • docker镜像制作
    • 拉线上镜像
    • 运行bash
    • 安装python3+tensorflow-gpu+keras等等
    • 安装完环境后退出docker
    • 查看所有docker容器,找到要commit的容器id
    • commit制作镜像
    • 查看制作出来的镜像
    • 将制作出来的镜像提交到https://hub.docker.com
    • 镜像导出导入
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档