容器執行時執行的命令
1、cmd:容器執行時執行的指令,而run是構建時
1)shell模式:cmd command para1 para2..
2)exec模式:cmd [executable, param1, param2...]
3)cmd [para1, para2..] 然後與enterpoint搭配使用作為其預設引數
※ docker run後面如果跟命令的話,會覆蓋掉cmd命令
2、entypoint:與cmd相似,唯一的區別是不會被docker run後面的命令所覆蓋
1)shell模式:entypoint command para1 para2..
2)exec模式:enterpoint [executable, param1, param2...]
3)docker run --entrypoind
設定映象的目錄和檔案
3、add :將檔案或路徑複製到dockerfile構建的映象中
1)add src... dest
2)add ["src"... "dest"] 適用於檔案路徑中有空格的現象
3)包含類似tar的解壓能力
4、copy:將檔案或路徑複製到dockerfile構建的映象中
1)copy src... dest
2)copy ["src"... "dest"] 適用於檔案路徑中有空格的現象
3)單純複製推薦使用
5、volume :對建立的容器新增卷
1)volume ["/data"]
2)可以實現資料共享或資料持久化功能
映象在構建以及執行的環境設定
6、workdir :容器內部設定工作目錄,entrypoint或cmd命令都會在此目錄下執行
1)workdir /path/workdir
2)如果選擇相對路徑,則根據上下文進行傳遞
如:workdir /1
workdir 2
workdir 3
當前目錄是 /1/2/3
7、env:設定環境變數
1)env key value
2)env key=value....
8、user:映象會以什麼樣子的使用者去執行
1)user nginx:會以nginx是身份來執行容器
觸發器指定
9、onbuild:給映象新增觸發器
1)當乙個映象被用作其他映象的基礎映象時,會被觸發
2)會在構建時插入觸發器指令
docker構建映象
做映象就是構建映象!提交容器更改,生成新的映象!docker commit 容器名 新映象的名字 tag 例如 將web2容器提交為乙個新的映象,新映象的名字為nginx 1.1 在docker中映象的儲存方式是分層儲存的!每個映象都會有不同層數!映象的層數只能增加不能減少!映象是唯讀的!裡面的記憶...
docker構建映象
建立docker映象有兩種方法。1。docker commit 這種不推薦,就不介紹了。2。用docker build命令和dockerfile檔案 下面構建乙個nginx小應用。建立資料夾 mkdir static web 進入這個資料夾 cd static web 建立dockerfile檔案 ...
Docker 構建映象
docker 構建映象 1 首先,在專案的根目錄下,新建乙個文字檔案.dockerignore,寫入下面的內容。git node modules npm debug.log 2 然後在專案的根目錄下,新建乙個文字檔案 dockerfile,寫入下面的內容。run npm install regist...