资讯专栏INFORMATION COLUMN

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

KoreyLee / 2130人阅读

摘要:邮件激活后,可以测试登录这条命令会完成登录,并将认证信息报错起来供后面使用。所以先用命令退出容器,再运行命令命令中,指定了要提交的修改过的容器的目标镜像仓库镜像名。提交的知识创建容器的镜像与容器的当前状态之间的差异部分,很轻量。

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

构建镜像

构建镜像的两种方法:

使用docker commit 命令

使用docker build命令和Dockerfile文件

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

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

用commit创建镜像 创建Docker账号

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

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

$ sudo docker login

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

用 commit 命令创建镜像

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

创建一个新容器命令:

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

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

$ sudo docker start aoct
$ sudo docker attach aoct

安装Apache:

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

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

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

$ sudo docker commit 614122c0aabb aoct/apache2

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

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

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

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

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

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

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

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


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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26384.html

相关文章

  • Docker学习之路(三)小试牛刀

    摘要:运行容器使用命令启动容器。指定镜像时,会检查本地是否存在镜像。现在进入到容器中,这是一个完整的系统。除此之外,并没有其它的资源。本人的学习笔记,主要是对我的第一本书从入门到实践的学习记录,并结合其他各种资源的学习。 运行容器 使用run命令启动容器。 下面的命令输出一个 Hello World,之后终止容器: $ sudo docker run ubuntu:14.04 /bin...

    wizChen 评论0 收藏0
  • Docker学习之路(五)镜像的基本操作

    摘要:一个镜像可以放到另一个京广线的顶部,位于下面的镜像称为父镜像,最底部的称为基础镜像。镜像是基于联合文件系统的一种层式的结构,由一系列指令一步步构建处理。拉取镜像使用命令启动一个镜像时,会检查本地是否存在该镜像。 什么是镜像 Docker镜像时由文件系统叠加而成,最底端是一个引导文件系统,即bootfs,这很像典型的Linux/Unix的引导文件系统。Docker用户几乎永远不会和引导...

    yunhao 评论0 收藏0
  • 慕课网_《Docker入门》学习总结

    摘要:时间年月日星期六说明本文部分内容均来自慕课网。必填用于执行命令,当执行完毕后,将产生一个新的文件层。可选指定此镜像启动时默认执行命令。可选用于指定需要暴露的网络端口号。可选向镜像中挂载一个卷组。 时间:2017年09月16日星期六说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com 教学源码:无 学习源码:无 第一章:课程简介 1-1 课程介绍 Docke...

    CoorChice 评论0 收藏0
  • 进入docker的世界

    摘要:反过来别的上的镜像,也不能在树莓派上运行。如果需要找树莓派专用的镜像,那就在上搜索或相关就能找到了。有一个叫的仓库制作了非常多树莓派专用,可以参考下。树莓派安装,最难的在于正确的选择源和添加,才能找到版本适合的并下载。 最近学习Machine Learning发现好多人都用docker,之前一直听说但是感觉和自己无关。但是现在发现原来docker是个这么方便的东西,可以跨平台(不分什么...

    remcarpediem 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<