docker構建映象

2022-05-04 17:03:08 字數 2605 閱讀 8650

建立docker映象有兩種方法。

1。docker commit 這種不推薦,就不介紹了。

2。用docker build命令和dockerfile檔案

下面構建乙個nginx小應用。

建立資料夾

mkdir static_web

進入這個資料夾

cd static_web/

建立dockerfile檔案

編輯dockerfile檔案

下面是dockerfile檔案的**。

docker構建是有快取的,如果你只修改了第4步,那麼前3步會用快取。但是有時候要確保構建過程不會使用快取。比如,如果已經快取了前面的第3步,即apt-get update,那麼docker將不會再次重新整理apt包的快取。

要想略過快取功能,可以用docker build 的--no-cache 標誌。

sudo docker build --no-cache -t lmy/static_web .
當然如果你不想用命令列,可以在dockerfile中加入下面的指令來更新快取。

from ubuntu:18.04maintainer lmy "[email protected]"env refreshed_at 2019-07-24

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

run echo 'hi, i am in your container' /usr/share/nginx/html/index.html

expose 80

這個env是在映象中設定環境變數,我通過env指令來設定乙個名為refreshed_at的環境變數,這個環境變數用來表明該映象模板的最後的更新時間,如果想重新整理一次構建,可以通過修改這個重新整理時間來實現。

檢視映象是如何構建出來的。

從新映象啟動容器

sudo docker run -d -p 80 --name static_web01 lmy/static_web nginx -g "

daemon off;

"-p 80 可以讓docker在宿主機上隨即選擇乙個位於32768-61000的乙個比較大的埠號來對映到容器中的80埠上。

在瀏覽中輸入http://localhost:32768/ 可以看到nginx頁面啦。

檢視容器的ip位址

sudo docker port static_web01
可以通過-p選項對映到特定埠上。

sudo docker run -d -p 8080:80 --name static_web8080 lmy/static_web nginx -g "

daemon off;

"

可以繫結到特定的網路介面上。

繫結到特定的網路介面的隨即埠

-p docker還提供了更簡單的方式: 該引數可以用來對外公開在dockerfile中通過expose指令公開的所有埠。

docker構建映象

做映象就是構建映象!提交容器更改,生成新的映象!docker commit 容器名 新映象的名字 tag 例如 將web2容器提交為乙個新的映象,新映象的名字為nginx 1.1 在docker中映象的儲存方式是分層儲存的!每個映象都會有不同層數!映象的層數只能增加不能減少!映象是唯讀的!裡面的記憶...

Docker 構建映象

docker 構建映象 1 首先,在專案的根目錄下,新建乙個文字檔案.dockerignore,寫入下面的內容。git node modules npm debug.log 2 然後在專案的根目錄下,新建乙個文字檔案 dockerfile,寫入下面的內容。run npm install regist...

docker 二 構建映象

一.用容器搭建簡單 mkdir sample在sample中編輯如下檔案dockefile,global.comf,nginx.conf 建立乙個靜態 目錄 mkdir website cd website echo hello docker index.html建立映象sample cd samp...