摘要:和命令解釋執行命令并創建新的設置容器啟動后默認執行的命令和參數設置容器啟動時運行的命令執行方式注意事項使用命令構建鏡像時需要放在同一個命令中,否則會從緩存中安裝軟件,導致執行毫無意義的軟件盡量一個一行并且按照字母順序排列
RUN、CMD和ENTRYPOINT 命令解釋
RUN 執行命令并創建新的Image Layer
CMD 設置容器啟動后默認執行的命令和參數
ENTRYPOINT 設置容器啟動時運行的命令
執行方式
EXEC
FROM debian RUN ["apt-get","install","-y","vim"] CMD ["/bin/echo","hello world!!"] ENTRYPOINT ["/bin/echo","hello world!!"]
SHELL
FROM debian RUN apt-get install -y vim CMD echo "hello world!!" ENTRYPOINT echo "hello world!!"注意事項
使用run命令構建鏡像時apt-get update && apt-get install -y需要放在同一個RUN命令中,否則apt-get install會從緩存中安裝軟件,導致apt-get update執行毫無意義
apt-get install 的軟件盡量一個一行并且按照字母順序排列,這樣可以避免安裝重復的命令
apt-get install安裝軟件時可以為軟件指定特定的版本apt-get install -y aufs-tools s3cmd=1.1.*
命令差異
CMD
容器啟動時默認執行的命令
docker run 指定了其他命令,CMD會被忽略
如果定義了多個CMD,只有最后一個會執行
ENTRYPOINT
讓容器以運用程序或者服務的形式運行
不會被忽略,一定會執行
最佳實踐,寫一個shell腳本作為entrypoint
COPY ./script/test.sh /usr/local/bin ENTRYPOINT ["test.sh"]
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27897.html
摘要:此命令下載測試鏡像并在容器中運行它。國內很多云服務商都提供了加速器服務,例如阿里云加速器注冊用戶并且申請加速器,會獲得如這樣的地址。獲取鏡像阿里云鏡像庫上有大量的高質量的鏡像可以用,這里我們就說一下怎么獲取這些鏡像并運行。 showImg(https://segmentfault.com/img/remote/1460000012924583); 這篇文章是我學習 Docker 的記錄...
摘要:當然此時的局限性較大,比如沒有副本和負載均衡的概念,這導致服務無法高可用當然也更不存在什么服務網絡管理和跨節點數據存儲這些東西沒有服務模型集群中服務間關系和啟動順序編排也很復雜于是就有了下面的的誕生。 showImg(https://segmentfault.com/img/remote/1460000015317037?w=1885&h=1153); 概述 在我的《Docker S...
摘要:創建詳解通過上面的快速創建我們接下來將通過上面的例子來進行創建操作中的詳細設置說明。高階設置高階設置中將針對容器進行詳細的參數設置。掛載路徑卷名稱注意如沒有創建卷設置,在掛載卷中將選擇不到具體的卷名稱,請先創建卷設置。快速創建快速創建Cube實例點擊Cube的創建按鈕進入創建頁面,為你的容器組起一個名字;選擇一個倉庫內的鏡像,這里快速創建我選擇的UCloud鏡像倉庫nginx鏡像1.17.1...
摘要:常用命令什么的是高級包裝工具英語簡稱是及其衍生發行版如的軟件包管理器。中文參數用法選項命令選項選項是一個下載安裝軟件包的簡單命令行接口。最常用的命令是更新和安裝。 apt-get常用命令 1.什么的是apt-get 高級包裝工具(英語:Advanced Packaging Tools,簡稱:APT)是Debian及其衍生發行版(如:ubuntu)的軟件包管理器。APT可以自動下載,配...
閱讀 3969·2021-11-23 10:09
閱讀 1338·2021-11-23 09:51
閱讀 2939·2021-11-23 09:51
閱讀 1585·2021-09-07 09:59
閱讀 2354·2019-08-30 15:55
閱讀 2292·2019-08-30 15:55
閱讀 2949·2019-08-30 15:52
閱讀 2560·2019-08-26 17:04