Dockerfile定製映象
映象的定製實際上就是定製每一層所新增的配置、檔案。如果我們可以把每一層修改、安裝、構建、操作的命令都寫入一個指令碼,用這個指令碼來構建、定製映象。
Dockerfile 是一個文字檔案,其內包含了一條條的指令(Instruction),每一條指令構建一層,因此每一條指令的內容,就是描述該層應當如何構建。
在一個空白目錄中,建立一個文字檔案,並命名為 Dockerfile:
$ mkdir mynginx
$ cd mynginx
$ touch Dockerfile
然後寫入的內容為:
FROM nginx
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
下面我們來解釋一下這些指令的具體含義和使用方法:
FROM 指定基礎映象
所謂定製映象,那一定是以一個映象為基礎,在其上進行定製。就像我們之前執行了一個 nginx 映象的容器,再進行修改一樣,基礎映象是必須指定的。而 FROM 就是指定基礎映象,因此一個 Dockerfile 中 FROM 是必備的指令,並且必須是第一條指令。
RUN 執行命令
之前說過,Dockerfile 中每一個指令都會建立一層,RUN 也不例外。每一個 RUN 的行為,就和剛才我們手工建立映象的過程一樣:新建立一層,在其上執行這些命令,執行結束後,commit 這一層的修改,構成新的映象。
假如我們需要用 Docker Compose 搭建 Rails 開發環境, Dockerfile的RUN指令可以這樣來寫,這樣我們只需要commit兩層映象:
RUN apt-get update && apt-get install -y curl apt-transport-https && \
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && apt-get install -y \
build-essential \
libpq-dev \
nodejs \
ruby \
ruby-dev \
tzdata \
yarn \
zlib1g-dev
WORKDIR 指定工作目錄
WORKDIR /Users/paul.zhang/workspace/myapp
相關文章
- 使用 Dockerfile 定製映象Docker
- 使用 Dockerfile 定製映象【轉】Docker
- Dockerfile 定製專屬映象Docker
- Dockerfile映象的製作Docker
- dockerfile映象設定中文Docker
- Docker如何製作映象-Dockerfile的使用Docker
- Docker 學習筆記(第六集:使用 Dockerfile 定製映象)Docker筆記
- Docker 入門系列四:Dockerfile-映象製作Docker
- Dockerfile 方式定製 lnmp 環境DockerLNMP
- DockerFile構建映象Docker
- [Dockerfile構建映象]Docker
- Docker--DockerFile與映象Docker
- Docker映象中提取DockerfileDocker
- 定製Centos7.9映象CentOS
- Dockerfile入門(使用Dockerfile生成jdk1.8映象)DockerJDK
- 用Dockerfile製作一個java應用映象,ubuntu基礎篇DockerJavaUbuntu
- Docker 映象構建之 DockerfileDocker
- 使用dockerfile構建nginx映象DockerNginx
- 使用 Dockerfile 自定義 Nginx 映象DockerNginx
- docker 學習筆記之實戰 lnmp 環境搭建系列 (3) ------ dockerfile 定製屬於自己的映象Docker筆記LNMP
- Docker定製自己的環境映象Docker
- 筆記:使用Dockerfile構建映象筆記Docker
- docker學習(常用命令,映象燒錄,定製映象)Docker
- docker初體驗:docker 自己定製映象Docker
- 最佳化 Dockerfile 以減小映象Docker
- Docker入門系列之三:如何將dockerfile製作好的映象釋出到Dockerhub上Docker
- Docker入門系列之二:使用dockerfile製作包含指定web應用的映象DockerWeb
- Docker & ASP.NET Core (2):定製Docker映象DockerASP.NET
- Docker - 02 建立映象 Dockerfile 指令速查表Docker
- Docker 入門系列四:Dockerfile-映象原理Docker
- Docker框架使用系列教程(七)Dockerfile映象建立Docker框架
- Docker入門系列之三:如何將dockerfile製作好的映象釋出到Docker hub上Docker
- docker筆記17-Dockerfile案例-自定義tomcat映象Docker筆記Tomcat
- 013、Dockerfile構建映象(2019-01-02 週三)Docker
- Prometheus之Dockerfile編寫、映象構建、容器啟動PrometheusDocker
- 使用 Bitnami PostgreSQL Docker 映象快速設定流複製叢集SQLDocker
- proxmox映象製作
- 製作KubeVirt映象