摘要:個人理解使用來構建鏡像其實是將應用部署及相關環境配置的命令集成到中,以便能統一鏡像內容,與傳統的部署差別在于,使用部署可以減小鏡像內容的差異,方便控制。
個人理解:使用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查看容器中的鏡像是否能訪問
大功告成!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/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 指令。這樣做有什么意義呢? ...
閱讀 2743·2021-10-26 09:50
閱讀 2385·2021-10-11 11:08
閱讀 2128·2019-08-30 15:53
閱讀 1906·2019-08-30 15:44
閱讀 2382·2019-08-28 18:12
閱讀 2520·2019-08-26 13:59
閱讀 2853·2019-08-26 12:19
閱讀 2751·2019-08-26 12:09