一、打包映象並執行
1、專案**打包上傳伺服器及相關配置檔案ip設定
2、編寫dockerfile
docker通過讀取dockerfile
中的指令自動生成映像
dockerfile 一般分為四部分:基礎映象資訊、維護者資訊、映象操作指令和容器啟動時執行指令,』#』 為 dockerfile 中的注釋
from:指定基礎映象,必須為第乙個命令
格式:maintainer:維護者資訊from from :from @
示例:from golang:latest
注:tag或digest是可選的,如果不使用這兩個值時,會使用latest版本的基礎映象
格式:workdir:工作目錄,類似於cd命令maintainer 示例:
maintainer jasper xu
maintainer [email protected]
maintainer jasper xu
格式:add:將本地檔案新增到容器中,tar型別檔案會自動解壓(網路壓縮資源不會被解壓),可以訪問網路資源,類似wgetworkdir /path/to/workdir
示例: workdir /a (這時工作目錄為/a)
workdir b (這時工作目錄為/a/b)
workdir c (這時工作目錄為/a/b/c)
注:通過workdir設定工作目錄後,dockerfile中其後的命令run、cmd、entrypoint、add、copy等命令都會在該目錄下執行
格式:run:構建映象時執行的命令add ... add ["",... ""] 用於支援包含空格的路徑
示例: add hom* /mydir/ # 新增所有以"hom"開頭的檔案
add hom?.txt /mydir/ # ? 替代乙個單字元,例如:"home.txt"
add test relativedir/ # 新增 "test" 到 `workdir`/relativedir/
add test /absolutedir/ # 新增 "test" 到 /absolutedir/
run用於在映象容器中執行命令,其有以下兩種命令執行方式:shell執行格式:expose:指定於外界互動的埠runexec執行格式:
run ["executable", "param1", "param2"]
示例: run ["executable", "param1", "param2"]
run apk update
run ["/etc/execfile", "arg1", "arg1"]
注:run指令建立的中間映象會被快取,並會在下次構建中使用。如果不想使用這些快取映象,可以在構建時指定--no-cache引數,如:docker build --no-cache
格式:env:設定環境變數expose [...]
示例: expose 80 443
expose 8080
expose 11211/tcp 11211/udp
注:expose並不會讓容器的埠訪問到主機。要使其可訪問,需要在
docker run
執行容器時通過-p來發布這些埠,或通過-p
引數來發布expose匯出的所有埠
格式:env #之後的所有內容均會被視為其的組成部分,因此,一次只能設定乙個變數
env =... #可以設定多個變數,每個變數為乙個"="的鍵值對,如果中包含空格,可以使用\來進行轉義,也可以通過""來進行標示;另外,反斜線也可以用於續行
示例: env myname john doe
env mydog rex the dog
env mycat=fluffy
entrypoint:
的目的和cmd
一樣,都是在指定容器啟動程式及引數
示例:
Docker建立映象檔案並在容器中執行
1.如何建立映象檔案 首先找到docker toolbox安裝的路徑,在路徑下直接新建dockerfile檔案 在dockerfile檔案裡寫入的內容為 from docker whalesay latest run apt get y update apt get install y fortun...
docker 映象 容器
windows下使用 everything 軟體 查詢 daemon.json 修改為如下 docker imagesdocker search 映象名稱docker search centosdocker pull tutum centosdocker rmi 映象iddocker rmi doc...
Docker基礎 查詢映象和執行容器
編者的話 本文是作者學習docker的筆記,涉及在windows上的安裝,介紹了映象和容器的知識和基本操作,適合docker初學者。3 天燒腦式容器儲存網路訓練營 深圳站 本次培訓以容器儲存和網路為主題,包括 docker plugin docker storage driver docker vo...