dockerfile 中最常用的指令有:from:創建新鏡像或派生新鏡像run:執行命令(安裝軟件、配置系統)copy:復制本地文件到鏡像add:類似 copy,可自動解壓縮 tar 存檔或獲取 url 文件cmd:指定容器啟動時的命令expose:聲明容器監聽端口(但不公開)env:設置環境變量volume:掛載主機目錄或匿名卷workdir:設置容器中的工作目錄entrypoint:指定容器啟動時要執行的可執行文件(類似 cmd,但不可覆蓋)
Dockerfile 中最常見的指令
Dockerfile 中最常用的指令如下:
1. FROM
創建一個新的容器鏡像或從基礎鏡像派生出一個新鏡像。
示例:
<code>FROM ubuntu:20.04</code>
登錄后復制
2. RUN
在容器中執行命令。通常用于安裝軟件或配置系統。
示例:
<code>RUN apt-get update && apt-get install -y <a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/16000.html" target="_blank">nginx</a></code>
登錄后復制
3. COPY
將本地文件或目錄復制到容器鏡像中。
示例:
<code>COPY index.html /usr/share/nginx/html</code>
登錄后復制
4. ADD
與 COPY 類似,但可以自動解壓縮 tar 存檔或從 URL 中獲取文件。
示例:
<code>ADD myapp.tar.gz /usr/local/myapp</code>
登錄后復制
5. CMD
指定容器啟動時要執行的命令。
示例:
<code>CMD ["nginx", "-g", "daemon off;"]</code>
登錄后復制
6. EXPOSE
聲明容器將監聽的端口,但不會實際在 Docker 守護程序中公開端口。
示例:
<code>EXPOSE 80</code>
登錄后復制
7. ENV
設置環境變量。
示例:
<code>ENV APP_NAME myapp</code>
登錄后復制
8. VOLUME
掛載主機目錄或匿名卷到容器中。
示例:
<code>VOLUME /var/log/myapp</code>
登錄后復制
9. WORKDIR
設置容器中的工作目錄。
示例:
<code>WORKDIR /usr/local/myapp</code>
登錄后復制
10. ENTRYPOINT
指定容器啟動時要執行的可執行文件。類似于 CMD,但不可覆蓋。
示例:
<code>ENTRYPOINT ["/usr/local/myapp/bin/myapp"]</code>
登錄后復制