我有一個帶有以下行的 Dockerfile:
USER lodgepole
CMD ["tail", "-f", "~/block.txt"]
~/block.txt但是容器退出時出現找不到檔案的錯誤
以下確實按預期作業:
CMD ["tail", "-f", "/home/lodgepole/block.txt"]
這是 Docker 中的錯誤還是我不知道的與波浪號擴展相關的限制?
在 Linux 上使用 Docker 20.10.9。
uj5u.com熱心網友回復:
波浪號擴展是由外殼完成的。當你使用exec形式的 CMD 時,沒有 shell 來做擴展。
您可以改用 CMD 的shell形式,它通過 shell 運行命令,如下所示
CMD tail -f ~/block.txt
或者您可以使用exec表單并顯式運行 shell,如下所示
CMD ["/bin/sh", "-c", "tail -f ~/block.txt"]
這兩個命令做的事情完全相同。如果您使用shell形式,它將以與exec形式相同的方式運行 shell。
更多資訊:https ://docs.docker.com/engine/reference/builder/#cmd
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/527254.html
上一篇:使用dockercompose時Dockerfiles是否應該指定入口點?
下一篇:x值的列組,y值的列組(每行)
