文档章节

#docker#基本使用3(commit等)

Hochikong
 Hochikong
发布于 2014/08/24 17:11
字数 630
阅读 59
收藏 0

本文出现的问题的解决方法已在:http://my.oschina.net/hochikong/blog/306361

################################################################################################


1.列出所有镜像:docker images
 

tips:有时你可能会见到类似于“ubuntu:14.04“,“ubuntu:12.04“这样的名字,实际上,“:“后的就是tag,图中的tag为“latest“。
也可以这样运行:
 



2.在dockerhub上搜索镜像:docker search IMAGE_NAME
 


 

可以看到大量结果


3.commit(相当于更新)一个镜像:docker commit -m="MESSAGE" -a="AUTHER_NAME" CONTIANER_ID USER/REPOSITORY:TAG

先运行容器(请记住此时root后面那组id):
 

我安装了erlang:
 

最后commit了它(记得先退出):
 

实际上,commit差不多可以看做把容器固化成image。

看看现在我有的镜像:
 

运行一下:
 


4.从Dockerfile创建镜像:docker build -t=”SOURCE_IMAGE_ID USER/REPOSITORY:TAG” .(注意最后的".")

tips:不知是rp问题还是bug,我在14.04上按照官方手册安装的docker build的镜像即使指定了tag,但在docker images的结果中却没有任何信息,只有ID,需要tag一下(后面会讲到)。

先创建一个文件夹,cd进去,创建一个叫“Dockerfile”的文件:
 

我的文件如图所示:
 

“#”开头的为注释,指令比如RUN之类的必须大写,FROM指源镜像(我从一个源镜像创建),执行安装ntp的操作,注:如果不明白-qq是什么意思,请查阅apt相关的资料(意思是除了错误,什么都不输出)

build一下:请注意后面那个”.”,如果Dockerfile在本目录中的话,可以用一点代替路径,但你也可以配置路径。
 

问题出现了:
 

居然出现了none?bug么?
我们需要tag一下,为它添加信息:docker tag IMAGE_ID CONTIANER_ID USER/REPOSITORY:TAG
 

再次看看我的image列表:
 
正常了。


5.删除容器和镜像:docker rm CONTAINER_NAME /docker rmi IMAGE_NAME

因为有好几个没有信息的镜像,我想把它删除了:
 

他却提示有容器在使用它,记住容器id,删除了容器后再删除镜像即可。


6.补充:
列出所有运行中的容器:docker ps -a

列出容器的最新状况:docker ps -l(只显示一个容器的结果)






© 著作权归作者所有

Hochikong
粉丝 19
博文 113
码字总数 59961
作品 1
广州
程序员
私信 提问
快速零基础入门 Docker

Docker是什么? Docker 是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。比如,你在本地用 Python 开发网站后台,开发测试完成后...

VincentZ
2017/12/11
0
0
docker 镜像生成

1、由container创建镜像(修改已有镜像): 修改container后,commit: -m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的 ...

kekeZhang
2016/07/11
80
0
tomcat-Dockerfile:可配置tomcat的访问日志

1.需求 tomcat的容器启动时,可以通过参数命令来决定容器中tomcat的server.xml的访问日志是否开启。 2.tomcat-Dockerfile FROM openjdk:8-jre ENV CATALINA_HOME /usr/local/tomcatENV PATH...

mengdonghui123456
2018/04/11
0
0
helyho/DockerFly

#####Dockerfly是基于 Docker1.12+ (Docker API 1.24+) 开发出Docker 管理工具,提供里最基本的基于 Docker 的管理功能,目的是能够方便广大Docker初学者以及 Docker 管理员能够快速的进行Doc...

helyho
2017/02/28
0
0
Docker实战(二):制作自己的Docker镜像

Docker实战(二):制作自己的Docker镜像 2015年11月17日 00:54:02 阅读数:16520 标签: Docker 更多 个人分类: Docker 制作自己的Docker镜像 制作自己的Docker镜像主要有如下两种方式: ...

linjin200
2018/08/23
5
0

没有更多内容

加载失败,请刷新页面

加载更多

川普给埃尔多安和内堪尼亚胡的信

任性 https://twitter.com/netanyahu/status/1186647558401253377 https://edition.cnn.com/2019/10/16/politics/trump-erdogan-letter/index.htm...

Iridium
30分钟前
10
0
golang-mysql-原生

db.go package mainimport ("database/sql""time"_ "github.com/go-sql-driver/mysql")var (db *sql.DBdsn = "root:123456@tcp(127.0.0.1:3306)/test?charset=u......

李琼涛
58分钟前
5
0
编程作业20191021092341

1编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时 间。使用#define或const创建一个表示60的符号常量或const变量。通过while 循环让用户重复输入值,直到用户输入小于或等于0的值...

1李嘉焘1
59分钟前
7
0
Netty整合Protobuffer

现在我们都知道,rpc的三要素:IO模型,线程模型,然后就是数据交互模型,即我们说的序列化和反序列化,现在我们来看一下压缩比率最大的二进制序列化方式——Protobuffer,而且该方式是可以跨...

算法之名
今天
19
0
如何用C++实现栈

栈的定义 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压...

BWH_Steven
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部