1.1 概念:
dockerfile是乙個包含用於組合映象命令的文字文件,docker通過讀取dockerfile中指令自動生成映象。
1.2 基本結構
* 基礎映象資訊
* 維護者資訊
* 映象操作指令
* 容器啟動時執行的命令
1.3 說明
* docker以從上到下的順序執行dockerfile指令
* 為了指定基本映象,第一條指令必須為from
* 乙個宣告以#開頭,被視為注釋
* 可以使用run、cmd、from、expose、env、extrypoint等指令
2.1 from
描述:
指定基礎映象,後序的指令都依賴於該指令指定的image,必須為第乙個指令。
格式: from
from :
示例:
from mysql:8.0
注意: * tag是可選的,如果不加該引數會使用latest版本的基礎映象
* 基礎映象裡包含一些基礎環境,例如:jdk、skywalking等
2.2 maintainer
描述:
維護者資訊
格式: maintiner
示例: maintiner gxn
2.3 run
描述:
構建映象時執行的命令
shell執行:
格式:run
示例:run mkdir -p /wy/youzanyun
2.4 workdir
描述:
進入工作目錄,類似於cd命令
格式: workdir /path
示例: workdir /wy/youzanyun
2.4 expose
描述:
指定與外界互動的埠
格式: expose
[...]
示例: expose 80
expose 80 443
注意: expose並不會讓容器的埠訪問到主機,要訪問的話需要在docker run執行
容器時通過-p來發布這些埠
2.5 add
描述:
將本地檔案新增到容器中,tar型別的檔案會自動解壓,可以訪問網路資源,類似
wget。
格式: add
...
示例:
2.6 copy
描述:
功能類似於add,但是不會自動解壓檔案,不能訪問網路。
2.7 env
描述:
設定環境變數
格式: env
# 設定乙個變數,key之後所有的內容均被視為value的組成部分
env =
...
# 可以設定多個變數
示例:
2.8 entrypoint
描述:
格式: entrypoint command param1 param2
示例:注意:
* docker run 執行命令的時候不會覆蓋entrypoint,而docker run命令
中指定的任何引數,都會被當成引數再次傳遞給entrypoint。
* dockerfile只允許有乙個entrypoint命令,多指定時會覆蓋前面的設定,
而只執行最後的entrypoint指令。
二 docker系列之docker安裝
docker的安裝和使用有一些前提條件,主要體現在體系架構和核心的支援上。對於體系架構,除了docker一開始就支援的x86 64,其他體系架構的支援則一直在不斷地完善和推進中。docker分為ce和ee兩大版本。ce即社群版 免費,支援週期7個月 ee即企業版,強調安全,付費使用,支援週期24個月...
四 docker系列之docker安裝常用軟體
目錄 docker安裝常用軟體 docker安裝執行redis 一 dockerhup redis倉庫 二 映象拉取 三 映象啟動 四 引數解析 docker安裝執行mysql 一 拉取映象 二 執行映象 docker部署執行單機kafka 拉取zookeeper並執行 拉取kafka映象並執行 命...
Docker系列 docker安裝
docker的安裝和使用有一些前提條件,主要體現在體系架構和核心的支援上。對於體系架構,除了docker一開始就支援的x86 64,其他體系架構的支援則一直在不斷地完善和推進中。docker分為ce和ee兩大版本。ce即社群版 免費,支援週期7個月 ee即企業版,強調安全,付費使用,支援週期24個月...