使用dockerfile自定義映象

2021-08-28 06:48:31 字數 1748 閱讀 3345

目前我會的docker執行方式就是簡單粗暴的docker pull下來別人的基礎環境,

然後把自己的專案丟進拉下來的基礎環境執行,

最終儲存退出,打包成自己的映象push到自己的docker hub中以供專案復用

有朋友問我是不是懂docker,我覺得略懂,然後問我如何寫dockerfile,我也是一臉懵x,本著好學的心態去了解了一下dockerfile的生成

專案執行依賴環境是必需的,我的python專案nginx+redis+mysql+python+flask, 讓別人在他的電腦上如何快速執行我的專案?各種找資源安裝依賴?no, docker就是解決這個問題的,以容器+映象的形式儲存依賴環境,就像虛擬機器一樣,讓別人快速擁有能執行專案的環境

就是將你的專案依賴打包成docker映象的乙個檔案,開頭的d必須大寫

# 重度mac使用者,對windows小夥伴說聲抱歉

# 開啟終端,建立乙個新目錄存放dockerfile

cd ~

mkdir docker-demo

cd docker-demo

touch dockerfile

這樣就準備好了,進入你的專案把依賴檔案拷貝乙份,requirements.txt或者package.js等等

cp requirements.txt ~/

cd ~/docker-demo

vim dockerfile

開始寫了

from tiangolo/uwsgi-nginx-flask:python3.6

copy ./requirements.txt /tmp/

run pip install -r /tmp/requirements.txt

這就寫完了

然後執行

# 最後的.不要省略

# nginx是映象名,v1是tag,都是自己起的

# 如果後面要上傳到自己的映象倉庫dockerhub, 這塊的映象名最好起成 dockerhub的賬號名/映象

# 如 dockershi/django-demo

docker build -t nginx:v1 .

這樣就構建好啦,docker images可以檢視到生成的映象

來說下需要注意的地方,

from後邊跟的是基礎映象。我找了乙個相對比較全的基礎映象,基礎映象可以去docker hub去找

run就是按層級執行,層級盡量不要太多

比如

run apt-get install redis

run apt-get install mongo

run apt-get install gcc

就直接寫成

run builddeps = apt-get install redis \

&& apt-get install mongo \

&& apt-get install gcc \

$builddeps

$builddeps結束 \換行承接上

dockerfile自定義映象的使用

dockerfile作用 dockerfile 是乙個用來構建映象的文字檔案,文字內容包含了一條條構建映象所需的指令和說明,幫我們把應用打包成映象,這樣我們就可以在容器中執行這個應用了 dockerfile檔案中的指令 from 定製的映象都是基於 from 的映象 run 用於執行後面跟著的命令列...

Dockerfile自定義映象

建立自定義映象就需要建立乙個dockerfiler,如下為dockerfile的語言 from 指定當前自定義映象依賴的環境 copy 將相對路徑下的內容複製到自定義映象中 workdir 宣告映象的預設工作目錄 run 執行的命令,可以編寫多個 cmd 需要執行的命令 在workdir下執行的,c...

使用自定義資源

01 02 description write resource to file 03 author fzy112001 04 param hmodule,handle of exe dll 05 param lpname,name of the resource 06 param lptype,r...