簡體   English   中英

為什么 Dockerfile 中的 ENTRYPOINT 日志輸出而不是 CMD 或 RUN

[英]Why does the ENTRYPOINT log output but not the CMD or RUN in Dockerfile

在這個 Dockerfile 中,我有一個ENTRYPOINT調用一個腳本,該腳本只記錄一個回聲“測試”。 當我構建和運行 Dockerfile 時,此輸出在本地工作。 當我與 docker-compose for aws 結合使用時,它也會記錄到 cloudwatch。

但是RUNCMD命令不會向控制台或 cloudwatch 輸出任何內容,我如何查看它們的輸出? 我預計至少會出現一些錯誤

ENTRYPOINT bash -c "/migrate.sh"

WORKDIR /
RUN yarn
CMD ["yarn migration:run", "dist/src/main"]

我只是用docker build -t test:test . 然后docker run <imagename>

Dockerfile 中的RUN語句僅在您構建容器時調用(此時您應該看到 yarn 的輸出)。 當您 docker docker run容器時,它只會執行 ENTRYPOINT 和/或 CMD(在這種情況下,因為沒有 CMD,所以是 ENTRYPOINT 的輸出)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM