docker - 构建镜像(Dockerfile文件)

        通过Dockerfile文件可以很方便的构建我们所需的镜像,我理解的该方式的原理:将在终端执行的各种命令写入Dockerfile文件,在执行构建命令时docker会将这些命令翻译为终端命令执行完成构建。Dockerfile文件通常由以下部分构成:

(1)FROM image_name    //指定构建的基础镜像

(2)MAINTAINER name    //指定构建人

(3)ADD fileName 目录 //将宿主机中的指定文件添加到镜像的指定目录

(4)ENV key value            //配置环境变量,例如jdk等

(5)RUN:                     //镜像构建过程中执行的命令,通常执行一些下载文件的命令

           a.    方式一: RUN+终端命令   //如:RUN sudo apt-get update或RUN echo "123"

           b.    方式二:RUN ["可执行命令","参数1"..."参数n"]      //如:RUN ["echo","123"]

            注:Dockerfile命令每执行一条即产生一个新的镜像,当前命令总是在最新的镜像上执行,如果要执行的第二个RUN命令是在第一条的基础上执行就会出问题,所以要同时执行多条命令采用以下格式:

                RUN 命令1 && 命令2...     //如:RUN echo 123 && echo 456

(6)CMD:            //镜像构建完成第一次启动时执行的命令,比如启动软件或者执行jar包等

            a.    方式一:CMD  + 终端命令  

            b.    方式二:CMD ["可执行命令","参数1"..."参数n"] 

(7)ENTRYPOINT:配置容器,使其可执行化,一个Dockerfile文件中只能有一个该语句,与CMD命令基本一样,不同的是通过 docker run执行的命令不会覆盖该命令。

     a. 方式一: ENTRYPOINT + 终端命令             

     b. 方式二:ENTRYPOINT ["可执行命令","参数1"..."参数n"] 

接下来构建我们的镜像:docker build -t imageName 路径

        

再通过docker images查看时我们的镜像文件已经生成了,需要注意执行构建语句时最后一个参数是镜像构建的目录,必须加,"."表示当前文件夹。下面贴上我的Dockerfile文件:

                

        然后就可以运行我们的镜像文件愉快的玩耍了羡慕

猜你喜欢

转载自blog.csdn.net/qq_29468573/article/details/80533549