您好,登錄后才能下訂單哦!
這篇文章主要講解了“dockerfile RUN,CMD,ENTRYPOINT的使用方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“dockerfile RUN,CMD,ENTRYPOINT的使用方法”吧!
RUN命令執行命令并創建新的鏡像層,通常用于在構建鏡像時安裝軟件包,每一個RUN命令都會創建一個鏡像層,如果執行多個命令,可以使用&&來連接,這樣只會創建一個鏡像層
RUN /bin/sh -c 'cd /usr/share/nginx/html/ && npm install'
啟動容器時,默認執行的命令,有3個前提條件
沒有ENTRYPOINT命令
使用docker run 命令啟動容器時,后面沒有參數,否則會覆蓋掉CMD命令 例如
docker run -d centos /bin/sh -c "while true;do echo 6666;sleep 1;done"
多個CMD命令只會執行最后一個
如果Dockerfile中有ENTRYPOINT命令,那么會將CMD中的內容放在ENTRYPOINT命令的最后作為命令參數。例如:
FROM java:8 COPY *.jar /app.jar CMD ["--server.port=8080"] EXPOSE 8080 ENTRYPOINT ["java","-jar","app.jar"]
最后執行的命令是
java -jar app.jar --server.port=8080
啟動容器時要執行的命令,多個ENTRYPOINT同樣只有最后一條命令生效。
ENTRYPOINT 在運行時也可以被docker run中的參數替代,不過比 CMD 要略顯繁瑣,需要通過docker run 的參數 --entrypoint 來指定。
感謝各位的閱讀,以上就是“dockerfile RUN,CMD,ENTRYPOINT的使用方法”的內容了,經過本文的學習后,相信大家對dockerfile RUN,CMD,ENTRYPOINT的使用方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。