Dockerfile
作用:用來定制鏡像的腳本
Dockerfile 是一個文本文件丽涩,其內容包含一條條的指令(Instruction),每一條執(zhí)行構建一層,因此每一條指令的內容矢渊,就是描述該層應當如何構建继准。
在一個空白目錄下,創(chuàng)建文本文件 Dockerfile
矮男,并在其中輸入如下內容:
FROM nginx
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
構建鏡像
在 Dockerfile
文件所在目錄執(zhí)行:
docker build -t nginx:v1 .
==注意==:docker build 命令最后一個 .
移必。這個 .
表示當前目錄,并且這個.
所代表的路勁 是一個上下文(Context)
首先理解幾個默認的事實:
- 不額外指定 Dockerfile 的話毡鉴,默認下會將 上下文目錄中的名為 Dockerfile 的文件作為 Dockerfile崔泵。可以通過
-f
參數指定任意路徑下Dockerfile - Dockerfile文件的名字不一定是Dockerfile猪瞬,只是大家習慣性的會使用默認的文件名Dockerfile而已
而這里的上下文目錄的指定憎瘸,是要告訴給 docker build 命令,需要將這個上下文目錄下的文件打包給 Docker引擎中撑螺。即 docker 命令操作屬于 C/S 架構的命令操作。
在上下文目錄中崎弃,可以通過 .dockerignore
(與.gitignore
一樣的語法)甘晤,來剔除在上下文目錄下不需要傳遞給Docker引擎的文件。
Dockerfile 指令
COPY 復制文件
ADD 更高級的復制文件
CMD 容器啟動命令
ENTRYPOINT 入口點
ENV 設置環(huán)境變量
ARG 構建參數
VOLUME 定義匿名卷
EXPOSE 生命端口
WORKDIR 指定工作目錄
USER 指定當前用戶
HEALTHCHECK 健康檢查
ONBUILD 為他人作嫁衣裳