dockerfile建立映象 二

2021-09-08 06:29:38 字數 1623 閱讀 3322

entrypoint

兩種格式:

entrypoint [「executable」, 「param1」, 「param2」]

entrypoint command param1 param2 (shell中執行)。

在執行時,可以被--entrypoint引數覆蓋,如docker run --entrypoint

每個dockerfile中只能有乙個 entrypoint ,當指定多個時,只有最後乙個起效。

volume

格式為 volume [「/data」] 。

建立乙個可以從本地主機或其他容器掛載的掛載點,一般用來存放資料庫和需要保持的資料等。

user

格式為 user daemon 。

指定執行容器時的使用者名稱或uid,後續的 run 也會使用指定使用者。

當服務不需要管理員許可權時,可以通過該命令指定執行使用者。並且可以在之前建立所需要的使用者,例如: run groupadd -r postgres && useradd -r -g postgres postgres 。要臨時獲取管理員許可權可以使用 gosu ,而不推薦 sudo 。

workdir

格式為 workdir /path/to/workdir 。

為後續的 run 、 cmd 、 entrypoint 指令配置工作目錄。

可以使用多個 workdir 指令,後續命令如果引數是相對路徑,則會基於之前命令指定的路徑。例如

workdir /a

workdir b

workdir c

run pwd

則最終路徑為 /a/b/c 。

onbuild

格式為 onbuild [instruction] 。

配置當所建立的映象作為其它新建立映象的基礎映象時,所執行的操作指令。

例如,dockerfile使用如下的內容建立了映象 image-a 。

[…]

[…]

如果基於a建立新的映象時,新的dockerfile中使用 from image-a 指定基礎映象時,會自動執行 onbuild 指令內容,等價於在後面新增了兩條指令。from image-a

#automatically run the following

使用 onbuild 指令的映象,推薦在標籤中註明,例如 ruby:

1.9-onbuild

通過docker build 建立映象。 

命令讀取指定路徑下(包括子目錄)所有的dockefile,並且把目錄下所有內容傳送到服務端,由服務端建立映象。另外可以通過建立.dockerignore檔案(每一行新增乙個匹配模式)讓docker忽略指定目錄或者檔案

格式為docker build [選項] 路徑 

需要制定標籤資訊,可以使用-t選項 

例如:dockerfile路徑為 /tmp/docker_build/,生成映象的標籤為build_repo/my_images 

$dudo docker build -t build_repo/my_images -f /tmp/docker_build/

posted on 2017-08-05 12:58收藏

dockerfile建立映象

dockerfile用來快速建立自定義映象 dockerfile分為部分 基礎映象資訊,維護者資訊,映象操作指令,容器啟動時執行指令 一開始必須指明所基於的映象名稱 維護者資訊 映象操作指令 run 執行容器時的操作命令 cmd from 功能為指定基礎映象,並且必須是第一條指令。如果不以任何映象為...

dockerfile建立映象搭建

第一步 root localhost mount dev cdrom mnt 掛載光碟 root localhost docker load mnt centos 匯入映象 建立工作目錄 root 192 mkdir apache 進入目錄下 root 192 cd apache 編輯vim doc...

Dockerfile自動建立映象

通過dockerfile檔案,可以幫助我們自動建立映象 1.from from 指令用於設定在新映像建立過程期間將使用的容器映像。格式 from 示例 from nginx from microsoft dotnet 2.1 aspnetcore runtime 2.run run 指令指定將要執行...