建立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這個env是在映象中設定環境變數,我通過env指令來設定乙個名為refreshed_at的環境變數,這個環境變數用來表明該映象模板的最後的更新時間,如果想重新整理一次構建,可以通過修改這個重新整理時間來實現。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
檢視映象是如何構建出來的。
從新映象啟動容器
sudo docker run -d -p 80 --name static_web01 lmy/static_web nginx -g "在瀏覽中輸入http://localhost:32768/ 可以看到nginx頁面啦。daemon off;
"-p 80 可以讓docker在宿主機上隨即選擇乙個位於32768-61000的乙個比較大的埠號來對映到容器中的80埠上。
檢視容器的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...