博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker 镜像生成
阅读量:7235 次
发布时间:2019-06-29

本文共 1738 字,大约阅读时间需要 5 分钟。

hot3.png

1、由container创建镜像(修改已有镜像):

修改container后,commit:

docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2

-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。 使用 docker images 来查看新创建的镜像

2、利用 Dockerfile 来创建镜像 vi Dockerfile

# This is a commentFROM ubuntu:14.04MAINTAINER Docker Newbee 
RUN apt-get -qq updateRUN apt-get -qqy install ruby ruby-devRUN gem install sinatra

Dockerfile 基本的语法是 使用#来注释 FROM 指令告诉 Docker 使用哪个镜像作为基础 接着是维护者的信息 RUN开头的指令会在创建中运行,比如安装一个软件包,在这里使用 apt-get 来安装了一些软件 编写完成 Dockerfile 后可以使用 docker build 来生成镜像。

docker build -t="ouruser/sinatra:v2" .

其中 -t 标记来添加 tag,指定新的镜像的用户信息。 “.” 是 Dockerfile 所在的路径(当前目录),也可以替换为一个具体的 Dockerfile 的路径。 可以看到 build 进程在执行操作。它要做的第一件事情就是上传这个 Dockerfile 内容,因为所有的操作都要依据 Dockerfile 来进行。 然后,Dockfile 中的指令被一条一条的执行。每一步都创建了一个新的容器,在容器中执行指令并提交修改(就跟之前介绍过的 docker commit 一样)。当所有的指令都执行完毕之后,返回了最终的镜像 id。所有的中间步骤所产生的容器都被删除和清理了。 *注意一个镜像不能超过 127 层 利用 ADD 命令复制本地文件到镜像;用 EXPOSE 命令来向外部开放端口;用 CMD 命令来描述容器启动后运行的程序等

3、从本地文件系统导入

cat ubuntu-14.04-x86_64-minimal.tar.gz  |docker import - ubuntu:14.04

存出镜像: 如果要导出镜像到本地文件,可以使用 docker save 命令。 docker save -o ubuntu_14.04.tar ubuntu:14.04 载入镜像 可以使用 docker load 从导出的本地文件中再导入到本地镜像库 docker load --input ubuntu_14.04.tar 或: docker load < ubuntu_14.04.tar

4、导出容器快照到本地文件

docker export 7691a814370e > ubuntu.tar

5、导入容器快照

cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0

6、清理所有未打过标签的本地镜像 docker images 可以列出本地所有的镜像,其中很可能会包含有很多中间状态的未打过标签的镜像,大量占据着磁盘空间。 使用下面的命令可以清理所有未打过标签的本地镜像 $ sudo docker rmi $(docker images -q -f "dangling=true") 其中 -q 和 -f 是缩写, 完整的命令其实可以写着下面这样,是不是更容易理解一点? $ sudo docker rmi $(docker images --quiet --filter "dangling=true")

转载于:https://my.oschina.net/u/1186013/blog/710083

你可能感兴趣的文章
网站分析:5173首页前端性能优化实践
查看>>
社交系统ThinkSNS V4系统产品介绍
查看>>
datagrid的“idField”的作用
查看>>
微信小程序图片上传使用整理(一)
查看>>
DNS常见配置
查看>>
flask 实现 Authorization请求报头认证
查看>>
OC语言BLOCK和协议
查看>>
清除bom头
查看>>
JS如何实现对name是数组的复选框的全选和反选以及取消选择
查看>>
windows server 2008 R2跨硬件平台升级2012
查看>>
cos:余弦, sin:正弦 , atan2:反正切值 的使用详解【笔记】
查看>>
Go 性能优化技巧 9/10
查看>>
ansible-playbook之block
查看>>
centos7 ansible 报错收集
查看>>
18.4 OSPF高级设置
查看>>
mysql查询并导出指定数据,select from,where,into outfile导出,fields terminated by分隔导出数据...
查看>>
淘宝大秒系统设计详解
查看>>
Android 类似淘宝 电商 搜索功能,监听软键盘搜索事件,延迟自动搜索,以及时间排序的搜索历史记录的实现...
查看>>
freemarker最新的插件
查看>>
SQL代码自动生成器
查看>>