DockerFile创建一个镜像过程
在/chentest/文件夹里建立一个dockerfile,内容如下:
1
2
3
4
5
|
FROM ubuntu:14.04 MAINTAINER Chris Chan "[email protected]"
RUN apt-get update && apt-get install -y nginx
RUN echo "**民!" > /usr/share/nginx/html/index .html
EXPOSE 80 |
然后在/chentest里执行这个dockerfile,命令是# docker build -t="chenchen01/svs_batman" .,注意后面这个点,这个点是“当前文件夹”的意思,也就是说dockerfile是在当前文件夹里,由于我国的国情,可能会有这样的情况出现:
但是不要怕,重新再来过可能就会好了。如果还不行,就多试几次,然后会出现一连串的字符,也会生成一连串的镜像,如果正常的话,就会出现“Successfully built 镜像号”。
可见“**民”这句话已经被写入了我们计划中的index.html里。
如果我们不是yum安装开源工具,而是公司自己的模块,那么也可以使用dockerfile进行制作镜像,在这里我们用mrs和zkclient为例子。
首先在/chentest里建立一个文件夹,比如叫mrstest,里面有mrs和zkclint两个子文件夹。然后再把这个mrstest进行打包,名字叫mrstest.tar.gz。如图:
这个时候,来修改一下Dockerfile,内容如下:
1
2
3
4
5
6
7
8
|
FROM centos:7 MAINTAINER Chris Chan "[email protected]"
RUN mkdir /mnt/hswx #建立一个hswx的文件夹
ADD mrstest. tar .gz /mnt/hswx #ADD是把当前文件夹的文件复制到hswx文件夹里,同时拆包解压缩
RUN yum update && yum install -y vim* #默认是不带vim的,这里安装一个
RUN echo "**民!" > /mnt/hswx/index .html #同样这里家一句话
EXPOSE 9030 EXPOSE 2181 |
然后就依照这个东东,制作一个叫"stevencurry/gotowin"的镜像,命令是 # docker build -t="stevencurry/gotowin" .。然后会就会出现一步又一步的进程,最后出现“Successfully built 38d8ef9229fc”,我们这个编号为38d8ef9229fc的"stevencurry/gotowin"镜像成功了。
于是可以验证一下,如图: