Docker学习之路(六)用commit命令创建镜像

假期快要结束了,干点正事,接着Docker的学习。

构建镜像

构建镜像的两种方法:

  • 使用docker commit 命令
  • 使用docker build命令和Dockerfile文件

Dockerfile更抢到、灵活,推荐使用。

一般来说不是真的“创建”新镜像,而是基于一个已有的基础镜像,比如Ubuntu、Fedora等,构建新的镜像而已。从零构建一个全新的镜像可参考这篇文章

用commit创建镜像

创建Docker账号

共享和发布镜像时构建镜像中重要的环节,可以将镜像推送到Docker Hub或资金的私有Registry中。首先到https://hub.docker.com/account/signup/ 创建账号。

clipboard.png

邮件激活后,可以测试登录:

$ sudo docker login

clipboard.png

这条命令会完成登录,并将认证信息报错起来供后面使用。个人认证信息将报错到$HOME/ .dockercfg文件中.

用 commit 命令创建镜像

可以想象是往版本控制系统里提交变更:首先创建一个容器,并在容器里做修改,就行修改代码一样,最后在讲修改提交为一个新镜像。

创建一个新容器命令:

$ sudo docker run -i -t ubuntu /bin/bash

我用之前创建好的aoct容器:

$ sudo docker start aoct
$ sudo docker attach aoct

clipboard.png

安装Apache:

root@614122c0aabb:/# apt-get -yqq update
...
root@614122c0aabb:/# apt-get -y install apache2
...

clipboard.png

想把这个容器作为一个Web服务器来运行,所以要把它当前状态保存下来,就不必每次都创建一个新容器并再次安装Apache。

所以先用exit命令退出容器,再运行docker commit命令:

$ sudo docker commit 614122c0aabb aoct/apache2

clipboard.png

命令中,指定了要提交的修改过的容器的ID、目标镜像仓库、镜像名。commit提交的知识创建容器的镜像与容器的当前状态之间的差异部分,很轻量。

查看新创建的镜像:
$ sudo docker images aoct/apache2

clipboard.png

也可以像git一样,在提交镜像时指定更多信息来描述所做的修改:

$ sudo docker commit -m='A new image' --author='Aomine' 614122c0aabb aoct/apache2

clipboard.png

上面代码,用-m指定行创建的镜像的提交信息。--author指定镜像作者,接着是容器ID、目标镜像仓库、镜像名。

使用docker inspect命令查看新创建的镜像的详细信息:
$ sudo docker inspect aoct/apache2

clipboard.png

使用docker run命令从刚创建的新镜像运行一个容器:

$ sudo docker run -t -i aoct/apache2 /bin/bash

clipboard.png


【本人的学习笔记,主要是对《我的第一本Docker书》、《Docker —— 从入门到实践》的学习记录,引用了很多书上的话和例子,并结合其他各种资源的学习。我使用的是windows 7, docker 1.3.2。】

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值