Dockerfile的使用介紹

2021-08-23 12:25:08 字數 1287 閱讀 9533

首先通過一張圖來了解 docker 映象、容器和 dockerfile 三者之間的關係。

通過上圖可以看出使用 dockerfile 定義映象,執行映象啟動容器。

docker 映象是乙個特殊的檔案系統,除了提供容器執行時所需的程式、庫、資源、配置等檔案外,還包含了一些為執行時準備的一些配置引數(如匿名卷、環境變數、使用者等)。映象不包含任何動態資料,其內容在構建之後也不會被改變。

映象的定製實際上就是定製每一層所新增的配置、檔案。如果我們可以把每一層修改、安裝、構建、操作的命令都寫入乙個指令碼,用這個指令碼來構建、定製映象,那麼之前提及的無法重複的問題、映象構建透明性的問題、體積的問題就都會解決。這個指令碼就是 dockerfile。

dockerfile 是乙個文字檔案,其內包含了一條條的指令(instruction),每一條指令構建一層,因此每一條指令的內容,就是描述該層應當如何構建。有了 dockerfile,當我們需要定製自己額外的需求時,只需在 dockerfile 上新增或者修改指令,重新生成 image 即可,省去了敲命令的麻煩。

dockerfile檔案格式如下:

##  dockerfile檔案格式

# this dockerfile uses the ubuntu image

# version 2 - edition 1

# author: docker_user

# command format: instruction [arguments / command] ..

# 1、第一行必須指定 基礎映象資訊

from ubuntu

# 2、維護者資訊

maintainer docker_user [email protected]

# 3、映象操作指令

run echo "deb raring main universe" >> /etc/apt/sources.list

run apt-get update && apt-get install -y nginx

run echo "\ndaemon off;" >> /etc/nginx/nginx.conf

# 4、容器啟動執行指令

cmd /usr/sbin/nginx

dockerfile 分為四部分:基礎映象資訊、維護者資訊、映象操作指令、容器啟動執行指令。一開始必須要指明所基於的映象名稱,接下來一般會說明維護者資訊;後面則是映象操作指令,例如 run 指令。每執行一條run 指令,映象新增新的一層,並提交;最後是 cmd 指令,來指明執行容器時的操作命令。

Dockerfile的簡單介紹

dockerfile是docker打包映象時使用的說明檔案,類似於構建rpm包的spec檔案。裡面由一些指令和配置構成。本文將一些dockerfile的編寫。其實我們可以把它看成就是spec的乙個擴充套件版。總的語法也和spec很像,以這樣的語句來表示。支援 注釋。1命令 引數 這是個很簡單的doc...

dockerfile指令介紹

dockerfile指令 cmd,entrypoint,add,copy,volume,workdir,user,onbuild,env等 1.cmd 用於指定乙個容器啟動時要執行的命令。類似於run指令,只是run指令是指定映象被構建時的命令,而cmd是指容器被啟動時要執行的命令 docker r...

Dockerfile 基礎介紹

這是本專欄的第三部分 映象篇,共 8 篇。前兩篇我為你介紹了 docker 映象生命週期的管理,以及映象的構建和分發方式。本篇,我來為你介紹 dockerfile 帶你理解 dockerfile 中的重點知識,方便你自己定義構建映象的行為。下面我們一起進入本篇的學習。在前面的內容中,我有寫過幾個 d...