摘要:个人理解使用来构建镜像其实是将应用部署及相关环境配置的命令集成到中,以便能统一镜像内容,与传统的部署差别在于,使用部署可以减小镜像内容的差异,方便控制。
个人理解:使用Dockerfile来构建镜像其实是将应用部署及相关环境配置的命令集成到Dockerfile中,以便能统一镜像内容,与传统的部署差别在于,使用Dockerfile部署可以减小镜像内容的差异,方便控制。
先说明Dockerfile中包含哪些内容:
基础镜像信息
维护者信息
镜像操作指令
容器启动时执行指令
#mkdir -p /opt/docker-file/nginx #cd /opt/docker-file/nginx #vim DockerfileDockerfile内容
[lileikf2016@instance-1 nginx]$ cat Dockerfile #This is my docker file about nginx #Version: 1.0.0 #This is my docker file about nginx #Version: 1.0.0 #Author: Profeel Wang #Base image FROM centos #Maintainer MAINTAINER Profeel Wang cqupt_wq@hotmail.com #Add files ADD pcre-8.37.tar.gz /usr/local/src ADD nginx-1.11.13.tar.gz /usr/local/src #RUN RUN yum install -y wget gcc gcc-c++ make openssl-devel RUN useradd -s /sbin/nologin -M www #WORKDIR WORKDIR /usr/local/src/nginx-1.11.13 #RUN RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.37 && make && make install RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf ENV PATH /usr/local/nginx/sbin:$PATH #Expose Port EXPOSE 80 #Run the application CMD ["nginx"]启动镜像
sudo docker build -t nginx-file:v1 .
查看构建的镜像[lileikf2016@instance-docker nginx]$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx-file v1 cbb545419976 15 minutes ago 394.9 MB docker.io/centos latest a8493f5f50ff 11 days ago 192.5 MB根据构建的镜像创建容器
sudo docker run -d -p 80:80 nginx-file:v1查看容器中的镜像是否能访问
大功告成!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26852.html
摘要:用于配置当前所创建的镜像作为其它新创建镜像的基础镜像时,所执行的操作指令。运行构建命令构建命令用于使用创建镜像。 本文旨在用通俗的语言讲述枯燥的知识 前面讲到镜像的构建时,讲述的是用commit的方式构建镜像,而Dockerfile是另一种构建镜像的方式。 Dockerfile构建镜像是以基础镜像为基础的,Dockerfile是一个文本文件,内容是用户编写的一些docker指令,每一条...
摘要:本文已获得原作者授权。在构建镜像的过程中会缓存一系列中间镜像。镜像时,会顺序执行中的指令,并同时比较当前指令和其基础镜像的所有子镜像,若发现有一个子镜像也是由相同的指令生成,则命中缓存,同时可以直接使用该子镜像而避免再去重新生成了。 本文已获得原作者 CodeSheep 授权。 概述 Dockerfile 是专门用来进行自动化构建镜像的编排文件(就像 Jenkins 2.0时代的 J...
摘要:我们可以了解到,镜像的定制实际上就是定制每一层所添加的配置文件。指令之指令的目的就是来指定基础镜像。指令之指令是用来执行命令行命令的。由于命令行的强大能力,指令在定制镜像时是最常用的指令之一。构建镜像这里我们使用了命令进行镜像构建。 我们可以了解到,镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜...
摘要:导读要从容器化开始,而容器又需要从开始,本文将介绍如何写出一个优雅的文件。只要记住以上三点就能写出不错的。执行完成项目的构建。 导读 Kubernetes要从容器化开始,而容器又需要从Dockerfile开始,本文将介绍如何写出一个优雅的Dockerfile文件。 文章主要内容包括: Docker容器 Dockerfile 使用多阶构建 感谢公司提供大量机器资源及时间让我们可以实践...
摘要:在构建镜像的过程中会缓存一系列中间镜像。镜像时,会顺序执行中的指令,并同时比较当前指令和其基础镜像的所有子镜像,若发现有一个子镜像也是由相同的指令生成,则命中缓存,同时可以直接使用该子镜像而避免再去重新生成了。 showImg(https://segmentfault.com/img/remote/1460000015606308?w=2000&h=1428); 概述 Docker...
摘要:版本以后,新增了多阶段构建。所谓多阶段构建,实际上是允许一个中出现多个指令。因为多个指令会造成多根,则是无法实现的。会使用一个完全干净的文件系统,不包含任何文件。可以使得最后生成的镜像最小化,其中只包含了程序。 Docker 17.05版本以后,新增了Dockerfile多阶段构建。所谓多阶段构建,实际上是允许一个Dockerfile 中出现多个 FROM 指令。这样做有什么意义呢? ...
阅读 2722·2021-10-26 09:50
阅读 2369·2021-10-11 11:08
阅读 2107·2019-08-30 15:53
阅读 1891·2019-08-30 15:44
阅读 2362·2019-08-28 18:12
阅读 2497·2019-08-26 13:59
阅读 2832·2019-08-26 12:19
阅读 2735·2019-08-26 12:09