网站建设实践描述,营业执照最佳取名,网站建设公司营销方案,网站维护得多久我们可以把刚才的对容器的所有操作命令都记录到一个文件里#xff0c;就像写更脚本程序。之后用 docker build 命令以此文件为基础制作一个镜像#xff0c;并会自动提交到本地仓库。这样的话镜像的构建会变的透明化#xff0c;对镜像的维护起来也更加简单#xff0c;只修改…我们可以把刚才的对容器的所有操作命令都记录到一个文件里就像写更脚本程序。之后用 docker build 命令以此文件为基础制作一个镜像并会自动提交到本地仓库。这样的话镜像的构建会变的透明化对镜像的维护起来也更加简单只修改这个文件即可。同时分享也更加简单快捷因为只要分享这个文件即可。Dokcerfile 是一个普通的文本文件文件名一般叫 Dockerfile。其中包含了一系列的指令(Instruction) 每一条指令都会构建一层就是描述该层是如何创建的。小试牛刀示例编辑 Dockerfile 文件[rootlocalhost ~]# mkdir centos_dockerfile[rootlocalhost ~]# cd centos_dockerfile/[rootlocalhost centos_dockerfile]# vi DockerfileFROM centos:latestLABEL maintaineryangge yanggeqf.com descriptionInstall tree vim*RUN rpm -qa | grep tree || yum install -y tree vim*指令介绍FORM 定义一个基础镜像LABEL 定义一些元数据信息比如作者、版本、关于镜像的描述信息RUN 执行命令行的命令编辑完保存退出2.开始构建镜像命令语法格式docker bulid -t 仓库名/镜像名:tag .docker build [选项] 上下文路径/URL/-示例[rootlocalhost centos_dockerfile]# docker build -t centos:1.20 .Sending build context to Docker daemon 2.048kBStep 1/3 : FROM centos:latest--- e934aafc2206Step 2/3 : LABEL maintainersharkdockerhub163.com descriptionInstall tree vim*--- Using cache--- 1207b2848015Step 3/3 : RUN rpm -qa | grep tree || yum install -y tree vim*--- Running in 33d321b249d7Loaded plugins: fastestmirror, ovlDetermining fastest mirrors...略...Complete!Removing intermediate container 33d321b249d7--- adc30981bc84Successfully built adc30981bc84 # 表示构建成功Successfully tagged centos:1.20 # TAG 标签[rootlocalhost centos_dockerfile]#构建镜像的上下文(context)这个 . 表示当前目录这实际上是在指定上下文的目录是当前目录docker build 命令会将该目录下的内容打包交给 Docker 引擎以帮助构建镜像。docker build 命令得知这个路径后会将路径下的所有内容打包然后上传给 Docker 引擎。这样 Docker 引擎收到这个上下文包后展开就会获得构建镜像所需的一切文件。最佳实战一般来说应该会将 Dockerfile 置于一个空目录下或者项目根目录下。如果该目录下没有所需文件那么应该把所需文件复制一份过来。如果目录下有些东西确实不希望构建时传给 Docker 引擎那么可以用 .gitignore 一样的语法写一个 .dockerignore该文件是用于剔除不需要作为上下文传递给 Docker 引擎的Dockerfile 的文件名并不要求必须为 Dockerfile而且并不要求必须位于上下文目录中比如可以用 -f ../Dockerfile.qf 参数指定某个文件作为 Dockerfile。一般大家习惯性的会使用默认的文件名 Dockerfile以及会将其置于镜像构建上下文目录中。