分类: 云计算
2015-09-14 20:12:26
原文地址:使用Dockerfile 构建镜像 作者:frankzfz
在上面的过程中我们已经把基础镜像构造完成,主要是根据centos-6.3,如果我们要在构建的基础镜像上安装相关包的话,可以使用Dockerfile文件进行。下面是一个简单的Dockerfile文件
点击(此处)折叠或打开
使用docker build -t="frankzfz/complie-kernel:v1" . 命令,如果没有制定任何的标签,Docker将会自动为镜像设置一个latest标签,这里我们设置的标签为v1,上面的命令中的最后是一个“.”,告诉Docker到本地目录中去找Dockerfile文件,当然也可以指定一个Git仓库的源地址来指定Dockerfile的目录。如下面的格式:
docker build -t="frankzfz/complie-kernel:v1"
其构建完成的主要信息如下:
root@10-10-63-106 ~]# docker ps
CONTAINER ID IMAGE
COMMAND CREATED STATUS PORTS NAMES
38e24e767962 frankzfz/complie-kernel:v1 "/bin/bash" About an hour ago Up About an hour 22/tcp sharp_wright
[root@10-10-63-106 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
frankzfz/complie-kernel v1
679fc1f718da About an hour ago 1.747 GB
centos6.3-base latest e12ec8e1dfa5 2 hours ago 724.6 MB
我们在进入到容器后如果使用exit命令退出后,container的状态也就不存在了,使用docker ps命令也就看不到了,但是我们可以使用CTRL+p CTRL + Q退出。
[root@10-10-63-106 ~]# docker run -t -i frankzfz/complie-kernel:v1 /bin/bash
bash-4.1#
bash-4.1# [root@10-10-63-106 ~]# #这里使用的是CTRL+p CTRL + Q,这样退出可以保持container的状态
[root@10-10-63-106 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5ac8a75f363d frankzfz/complie-kernel:v1 "/bin/bash" 15 seconds ago Up 15 seconds 22/tcp sick_stallman
[root@10-10-63-106 ~]# docker attach 5ac8a75f363d
bash-4.1#
bash-4.1#