MultipleInstructionsDisallowed
目錄
輸出
Multiple CMD instructions should not be used in the same stage because only the last one will be used描述
如果您的 Dockerfile 中包含多個 CMD、HEALTHCHECK 或 ENTRYPOINT 指令,則只有最後一條指令會被使用。一個映象只能有一個 CMD、HEALTHCHECK 和 ENTRYPOINT。
示例
❌ 錯誤:重複指令。
FROM alpine
ENTRYPOINT ["echo", "Hello, Norway!"]
ENTRYPOINT ["echo", "Hello, Sweden!"]
# Only "Hello, Sweden!" will be printed✅ 正確:只有一個 ENTRYPOINT 指令。
FROM alpine
ENTRYPOINT ["echo", "Hello, Norway!\nHello, Sweden!"]您可以同時擁有一個常規的頂級 CMD 和一個用於 HEALTHCHECK 指令的單獨 CMD。
✅ 正確:只有一個頂級 CMD 指令。
FROM python:alpine
RUN apk add curl
HEALTHCHECK --interval=1s --timeout=3s \
CMD ["curl", "-f", "https://:8080"]
CMD ["python", "-m", "http.server", "8080"]