服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - 详解Docker学习之用commit命令创建镜像

详解Docker学习之用commit命令创建镜像

2021-01-16 17:07Aomine 服务器知识

这篇文章主要介绍了详解Docker学习之用commit命令创建镜像,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

构建镜像的两种方法:

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

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

一般来说不是真的“创建”新镜像,而是基于一个已有的基础镜像,比如ubuntu、fedora等,构建新的镜像而已。

用commit创建镜像

创建docker账号

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

 详解Docker学习之用commit命令创建镜像

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

?
1
$ sudo docker login

详解Docker学习之用commit命令创建镜像

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

用 commit 命令创建镜像

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

创建一个新容器命令:

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

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

?
1
2
$ sudo docker start aoct
$ sudo docker attach aoct

详解Docker学习之用commit命令创建镜像

安装apache:

?
1
2
3
4
root@614122c0aabb:/# apt-get -yqq update
...
root@614122c0aabb:/# apt-get -y install apache2
...

详解Docker学习之用commit命令创建镜像

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

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

?
1
$ sudo docker commit 614122c0aabb aoct/apache2

详解Docker学习之用commit命令创建镜像

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

查看新创建的镜像:

?
1
$ sudo docker images aoct/apache2

详解Docker学习之用commit命令创建镜像

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

 

复制代码 代码如下:

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

 

详解Docker学习之用commit命令创建镜像

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

使用docker inspect命令查看新创建的镜像的详细信息:

?
1
$ sudo docker inspect aoct/apache2

详解Docker学习之用commit命令创建镜像

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

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

详解Docker学习之用commit命令创建镜像

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://segmentfault.com/a/1190000002567459

延伸 · 阅读

精彩推荐