DockerFile创建一个镜像过程

101 阅读2分钟
原文链接: click.aliyun.com

在/chentest/文件夹里建立一个dockerfile,内容如下:


                                                                                        

                                                                                            
FROM ubuntu:14.04

                                                                                            

                                                                                            MAINTAINER Chris Chan 
                                                                                                "chenx1242@163.com"
                                                                                            

                                                                                            

                                                                                            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是在当前文件夹里,由于我国的国情,可能会有这样的情况出现:

wKiom1g87aXz6vXRAACOJmN9qNE653.png


但是不要怕,重新再来过可能就会好了。如果还不行,就多试几次,然后会出现一连串的字符,也会生成一连串的镜像,如果正常的话,就会出现“Successfully built 镜像号”。


wKioL1g87sDAdS5VAAFGdHy2a3o508.png

可见“自由领导人民”这句话已经被写入了我们计划中的index.html里。


如果我们不是yum安装开源工具,而是公司自己的模块,那么也可以使用dockerfile进行制作镜像,在这里我们用mrs和zkclient为例子。


首先在/chentest里建立一个文件夹,比如叫mrstest,里面有mrs和zkclint两个子文件夹。然后再把这个mrstest进行打包,名字叫mrstest.tar.gz。如图:

wKioL1g-kAKy5UR-AAA-ANKWy10941.png


这个时候,来修改一下Dockerfile,内容如下:


                                                                                        

                                                                                            
FROM centos:7

                                                                                            

                                                                                            MAINTAINER Chris Chan 
                                                                                                "chenx1242@163.com"
                                                                                            

                                                                                            

                                                                                            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"镜像成功了。


于是可以验证一下,如图:

wKioL1g-mw7ji_hjAAFf5oRRPTA514.png

可见vim 也好使了,但是要注意,vim这里还是不识别中文,打开的话是乱码,这里还需要进一步改进。


docker查询容器命令:docker ps -a

docker删除容器命令:docker rm 容器名/容器编号

docker查询镜像命令:docker images

eocker删除镜像命令:docker rmi 容器名


 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1877621