1. 程式人生 > >使用Dockerfile建立自己的docker映象

使用Dockerfile建立自己的docker映象

前言

docker理論之類的就不說了,網上一大頓,直接說我們最關心的,就是如何構建我們自己的映象

映象是 Docker 的基礎,它是容器執行環境的靜態模板,包含了應用以及依賴環境。

製作映象步驟如下:

1.準備構建環境:

映象構建環境,就是製作映象的目錄,裡面包含了製作映象所需要的所有資源,包含應用、配置檔案、其他資源等。

2.編寫 Dockerfile 檔案:

Dockerfile 檔案包含了映象構建時需要執行的命令,包括拷貝需要的檔案到映象裡面、映象啟動時執行的命令等。

3.使用 docker build 命令構建映象:

docker build 命令將逐條執行Dockerfile 檔案裡的命令來構建映象。

4.釋出映象:

把映象釋出到映象中心供其他人使用

通用建議

1.每個容器只執行一個應用,每個容器只執行一個應用讓部署變得清晰明瞭。

2.最小化映象層數

Dockerfile的每句話都會在構建映象時形成一個映象層,由於一個映象是有最大層數限制的(計算時還要加上基礎映象的層數),所以儘量減少Dockerfile的命令語句可以減少映象的層數,比如可以把多條run語句合併成一條。

docker語法說明

Docker 可以通過讀取一個 Dockerfile 檔案裡面的指令來自動構建映象。Dockerfile是一個文字檔案,它包含了使用者在構建一個映象時會在命令列裡呼叫的所有命令。使用者可以使用dockerbuild命令來自動執行Dockerfile裡的一系列命令列指令,以便構建出自己想要的映象。

用法

建立一個空目錄,在裡面建立 Dockerfile 檔案,進入該目錄執行以下語句構建映象(注意最後的'.'):

$ docker build -t myapp:1.0 . -t後面的myapp 代表映象名,1.0代表映象版本號,如果不指定版本號,則Docker會自動給你設一個版本號latest。‘

’格式

Dockerfile的格式如下:

# Comment

指令

1.FROM

FROM <image>:<tag> FROM指令設定後續指令的基礎映象。

FROM指令必須是 Dockerfile 中第一條非註釋的指令。

tag是可選的。如果您省略了,構建器將會使用預設值latest。

例子:

FROM myapplication:1.0.0

2.MAINTAINER

MAINTAINER <name>

MAINTAINER指令用來在生成的映象中設定作者域。

例子:

MAINTAINER myname “myname"


多餘的指令這裡就不一一列出了,具體可以查閱docker教程

基於tomcat映象建立應用docmanager的映象

1. 準備構建環境

新建 doc資料夾,將 docmanager-deploy.war包解壓到 docmanager檔案

2. 編寫 Dockerfile

示例 Dockerfile 內容如下:


Dockerfile 解釋如下:

1.註釋說明 Dockerfile 的作用;

2.註釋說明 Dockerfile 的版本資訊;

3.選擇tomcat作為基礎映象;

4.新增 Dockerfile 的維護者資訊;

5.新增 docmanager目錄到 tomcat 相應目錄下;

3. 製作映象

使用 docker build 命令來製作映象,注意命令末尾的'.':

# docker build -t docmanager :1.0.0 .

4 檢視製作映象

5. 釋出映象

映象製作完成後,只能在本地使用,需要釋出到映象中心,使用者才能使用。 使用docker push命令將本地映象釋出到私有映象中心****.docker.com(如果有的話):

docker push ****.docker.com/子目錄

6. 測試映象

docker run -it -p 8090:8080 docmanager:1.0.0

docker run -it -p 8090:8080 docmanager:1.0.0

7.檢視執行結果

可以看到,自己製作的映象已經在容器中啟動,本人自己製作過程,經過驗證,可以使用。

本文側重於實踐,理論方面可以更多的參考docker官網,裡面絕對有你想要的任何東西,可能製作的映象比較簡單,沒有用到一些命令,但是這不是本文的重點,純屬個人學習筆記,非喜勿噴,歡迎交流!