本篇文章與製作docker映像(二)–golang應用程式的不同之處在於,不會拷貝程式源**到容器中,而是通過掛載資料卷的方式,使容器與容器共享檔案。
首先新建專案目錄,目錄中的檔案如下:
total 8
-rw-rw-r--. 1 lanyang lanyang 117 feb 16 21:52 dockerfile
-rw-rw-r--. 1 lanyang lanyang 158 feb 16 21:52 hello.go
來看下,dockerfile的內容:
from golang:1.13
cmd go build -o hello hello.go && ./hello
可以看到,沒有將原始碼檔案拷貝到容器的操作。
cmd
中進行編譯並執行可執行檔案。
hello.go的內容沒有變化。
sending build context to docker daemon 3.072kb
step 1/4 : from golang:1.13
---> 297e5bf50f50
---> using cache
---> 0d3903be2f95
---> using cache
---> e0ab81b9f435
step 4/4 : cmd go build -o hello hello.go && ./hello
---> running in 0a75ed80e20b
removing intermediate container 0a75ed80e20b
---> 9639699d7aa0
successfully built 9639699d7aa0
hello golang from docker!
hello golang from docker!
hello golang from docker!
hello golang from docker!
hello golang from docker!
hello golang from docker!
hello golang from docker!
hello golang from docker!
hello golang from docker!
hello golang from docker!
--rm
容器退出時自動刪除該容器,通常用在演示、測試等場景中。
在容器中執行命令,檢視目錄內容:
dockerfile hello hello.go
可以看到宿主機目錄上的檔案,在容器中也存在。
三 Docker映象製作
命令 用途from 引用的基礎映象 run執行命令 容器內部 add新增檔案 同時支援網路檔案,比copy強一些 copy 新增檔案 cmd執行命令,指定容器的執行入口 expose 暴露埠 workdir 指定執行容器的乙個路徑 maintainer 指定維護者資訊 env設定環境變數 entry...
WDS使用捕獲映像製作企業自定義映像
在企業環境中,需要為客戶機部署非標準的作業系統環境 包括 定製的作業系統元件和各種應用程式 為此,需要建立一台參考計算機,在這台計算機上配置所需要部署的非標準的作業系統環境 然後,將此環境捕獲為映像 最後,通過wds伺服器將此映像部署到客戶機上。捕獲映像 capture image 實際應該稱為 用...
製作docker映象
命令docker build,從零開始來建立乙個新的映象。為此,我們需要建立乙個 dockerfile 檔案,其中包含一組指令來告訴 docker 如何構建我們的映象 指定基礎映象 from openjdk 8 dockerfile使用變數 可以在dockerfile中進行引用 工作目錄 指定ver...