Dockerfile文件ADD指令是用于指定默認的容器主進程的啟動命令。Docker 不是虛擬機,容器就是進程。既然是進程,那么在啟動容器的時候,需要指定所運行的程序及參數(shù)。
十余年的煙臺網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都營銷網(wǎng)站建設的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整煙臺建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“煙臺網(wǎng)站設計”,“煙臺網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。語法格式
shell 格式:CMD 命令
exec 格式:CMD [可執(zhí)行文件, 參數(shù)1, 參數(shù)2...]
參數(shù)列表格式:CMD [參數(shù)1, 參數(shù)2...]。在指定了 ENTRYPOINT 指令后,用 CMD 指定具體的參數(shù)。
docker在運行時可以指定新的命令來替代鏡像設置中的這個默認命令,比如,ubuntu 鏡像默認的 CMD 是 /bin/bash,如果我們直接 docker run -it ubuntu 的話,會直接進入 bash。我們也可以在運行時指定運行別的命令,如 docker run -it ubuntu cat /etc/os-release。這就是用 cat /etc/os-release 命令替換了默認的 /bin/bash 命令了,輸出了系統(tǒng)版本信息。
在指令格式上,一般推薦使用 exec 格式,這類格式在解析時會被解析為 JSON 數(shù)組,因此一定要使用雙引號 ,而不要使用單引號。
如果使用 shell 格式的話,實際的命令會被包裝為 sh -c 的參數(shù)的形式進行執(zhí)行。比如:
CMD echo $HOME
在實際執(zhí)行中,會將其變更為:
CMD [ sh, -c, echo $HOME ]
這就是為什么我們可以使用環(huán)境變量的原因,因為這些環(huán)境變量會被 shell 進行解析處理。