日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

docker 覆盖 entrypoint_跟我一起学docker(八)--Dockerfile

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker 覆盖 entrypoint_跟我一起学docker(八)--Dockerfile 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.利用Dockerfile創建鏡像

什么是Dockerfile?

定義:Dockerfile是一個文本格式的配置文件,用戶可以使用Dockerfile快速創建自定義鏡像。

基本結構:

Dockerfile由一行行的命令語句組成。并且支持以#開頭的注釋行。一般Dockerfile分為四個部分:基礎鏡像信息、維護者信息、鏡像操作指令和容器啟動時的指令。

Dockerfile示例:

#This is a Dockerfile

#Author:liming

#第一行必須指定基礎鏡像

FROM ubuntu

#維護者信息

MAINTAINER <394498036@qq.com>

#鏡像的操作指令

RUN apt-get update

RUN apt-getinstall -y nginx

RUN echo “daemonoff:” >> /etc/nginx/nginx.conf

#容器啟動時的指令

CMD /usr/sbin/nginx

操作一下:

首先創建目錄testDockerfile并進入

vi Dockerfile

創建命令:

docker build –t =“”.

注意:執行此命令要和Dockerfile在同級目錄,文件名稱必須為Dockerfile。命令后面的”.”表示在當前目錄下執行。

2.Dockerfile指令集

1 FROM

格式為 FROM 或: .

第一條指令必須為FROM指令,用于指定基礎鏡像。

2 MAINTAINER

格式為 MAINTAINER ,指定維護者信息。

3 RUN

格式為 RUN ,會在shell終端運行命令。

4 EXPOSE

格式為 EXPOSE [ ...],容器需要暴露的端口號。鏡像啟動可以通過 –P 或 -p 進行端口映射的綁定。

5 ENV

格式為 ENV 。

指定一個環境變量,可以被后續的RUN引用,并且在容器中記錄該環境變量。

6 ADD

格式為 ADD 。

該命令將復制指定的到容器中的。其中可以是Dockerfile所在目錄的一個相對路徑;也可以是url,還可以是tar文件(自動解壓)。

7 VOLUME

格式為 VOLUME [path]。

創建一個可以從本地主機或其他容器掛載點,一般用來存放需要保持的數據。

8 USER

格式為 USER 。

指定運行容器時的用戶名,后續的RUN也會指定該用戶。

9 WORKDIR

格式為 WORKDIR 。

指定工作空間,運行完WORKDIR后,后續執行的RUN、CMD、ENTRYPOINT都會在此目錄下執行。

10 COPY

格式為 COPY 。

復制本地主機的到容器中的,目標路徑不存在時,會自動創建。

當使用本地目錄為源目錄時,推薦使用COPY。

11 CMD

推薦格式為 CMD [“executable”,”param1”,”param2”] 。

作為ENTRYPOINT的默認參數為 CMD[”param1”,”param2”]。

指定容器的啟動命令,每個Dockerfile只能有一條CMD命令,如果指定多條,只有最后一條會執行。

用戶啟動容器時指定運行命令,會覆蓋掉Dockerfile中的CMD命令。

12 ENTRYPOINT

格式為 ENTRYPOINT [“executable”,”param1”,”param2”]。

配置容器啟動后的命令,可被docker run提供的--entrypoint參數覆蓋。

每個Dockerfile只能有一條ENTRYPOINT命令,如果指定多條,只有最后一條會執行。

3.容器內安裝工具的方法

4.Dockerfile最佳實踐

1 錯誤定位

每個Dockerfile的指令可以生成新的一層鏡像,如果通過Dockerfile創建鏡像出錯,可以根據出錯所在步驟的上一層啟動容器,然后手工執行出錯層的命令,以達到調試目的。

2 好的使用習慣

http://dockone.io/article/131

http://dockone.io/article/132

PS:感謝大家支持,我會每天繼續寫docker技術文章。分享給大家。感謝大家的轉發,關注和收藏。

總結

以上是生活随笔為你收集整理的docker 覆盖 entrypoint_跟我一起学docker(八)--Dockerfile的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。