dockerfile是乙個文字格式的配置檔案,用於快速建立自定義的映象。
一、基礎結構
dockerfile有一行行命令語句組成,並支援以# 開頭的注釋行
dockerfile分為四部分:基礎映象資訊、維護者資訊、映象操作指令和容器啟動時執行的指令
例:#第一行必須制定基於的基礎映象
from ubuntu
#維護者資訊
maintainer docker_user [email protected]
#映象操作
run apt-get update && apt-get install -y nginx
#容器啟動時執行
cmd /usr/sbin/nginx二、dockerfile中的指令
1.from
格式:from作用:制定基礎映象
2.maintain
格式:maintainer 作用:指定維護者資訊
3.run
格式:run(由shell啟動,linux預設為`/bin/sh -c`,windows預設為`cmd /s /c`) run ["executable", "param1", "param2"] (執行可執行檔案) 作用:構建映象時執行的命令
4.cmd
格式:cmd ["executable","param1","param2"] (執行可執行檔案,優先)
cmd ["param1","param2"] (設定了entrypoint,則直接呼叫entrypoint新增引數)
cmd command param1 param2 (執行shell內部命令)作用:
指定啟動容器時執行的命令,每個dockerfile只能有乙個cmd命令。如果有多個cmd命令,則只執行最後一條
5.expose
格式:expose […]作用:
告訴docker容器需要暴露的埠號,供互聯系統使用
6.env
格式:env
env = ...作用:
設定環境變數,在容器執行時保持例:
run set -ex && apt-get update && apt-get install -y iputils-ping
env path /usr/local/bin:$path
env lang c.utf-8
env term xterm
env python_version 3.5.3
env name1=ping name2=on_ip
cmd $name1 $name27.add
格式:add 作用:
該命令將複製指定的到容器的,其中可以是dockerfile所在目錄的乙個相對路徑(檔案或目錄)
8.copy
格式:copy 作用:
複製本地主機的(dockerfile所在目錄的相對路徑的檔案或目錄)到容器的。目標目錄不存在時,會自動建立,與add不同的是不會解壓壓縮檔案
9.volumn
格式:volume ["/data"]作用:
用於指定持久化目錄,在容器啟動時用-v傳遞引數,例如-v ~/opt/data/mysql:/var/lib/mysql將本機的~/opt/data/mysql和容器內的/var/lib/mysql做持久化關聯
容器啟動時會載入,容器關閉後會回寫。
10.entrypoint
格式:entrypoint ["executable", "param1", "param2"] (可執行檔案, 優先)
entrypoint command param1 param2 (shell內部命令)作用:
配置容器,使其可執行化。配合cmd可省去"application",只使用引數。
例:from ubuntu
entrypoint ["top", "-b"]
cmd ["-c"]當啟動容器後,你將直接看到相當於執行了top -b -c
要進一步檢視,你可以直接使用命令docker exec -it test ps aux
相當於使用了docker exec top -b -it test ps aux
11. user
格式:user daemon作用:
指定執行容器時的使用者名稱或uid,後續的run、cmd和entrypoint也會使用指定使用者
12. workdir
格式:workdir /path/to/workdir作用:
配置工作目錄
13.onbuild
格式:onbuild [instruction]作用:
配置當所建立的映象作為其他新建立映象的基礎映象時,所執行的操作指令。
14. arg
格式:arg parameter_name作用:
由外部啟動時必須傳入的引數,在容器啟動時用--build-arg傳遞引數
例:容器啟動時傳參: --build-arg cont_img_ver=v2.0.1
from ubuntu
arg cont_img_ver
雲計算大會之雲計算應用
中國移動發布大雲 大雲產品包括並行資料探勘工具 分布式海量資料倉儲 彈性計算系統 雲儲存系統 平行計算執行環境共五種產品。亞馬遜網路服務 amazon webservices,aws google地球 地圖 gmail docs等 微軟 windows azure 雲計算作業系統 salesforc...
雲計算簡史 雲計算知識簡史
高聳入雲的建築雲端應用open stack 智慧型政務 雲計算賦能傳統政務公升級 服務 目前,我國電子政務體系正沿著最初的 兩網 一站 四庫 十二金 的設想穩步發展,以公民為中心 的理念正在深入人心 我國智慧型政務發展現狀 資訊基礎設施初步完善,軟硬體裝置投資逐步增加 通過頂層規劃和政務平台建設,提...
linux雲計算基礎(雲計算介紹)
什麼是雲計算 能夠為其它計算機提供服務的更高階的電腦 他有四種樣式 機架式 塔式 機櫃式 刀片式 典型的服務模式 c s,client server架構 由伺服器提供資源或某種功能 客戶機使用資源或功能 tcp ip是最廣泛支援的通訊協議集合 包括大量internet應用中的標準協議 支援跨網路架構...