我正在阅读一些 Docker documentation我注意到他们在创建容器时传递了 true
命令。
$ sudo docker create -v /dbdata --name dbdata training/postgres /bin/true
他们为什么将 /bin/true
传递给容器?如果我理解正确,我的纯数据容器永远不会运行,那还有必要吗?
最佳答案
没有必要运行该命令,但目前Docker确实需要您指定一个命令来运行(或至少一个入口点)。我想这是出于模式完整性的原因。以下命令将成功创建一个 docker 容器:
docker create -v /dbdata --name dbdata --entrypoint=_ scratch
该容器可以用作卷容器,但它永远无法运行。
也就是说,许多 Docker 实用程序(例如 Compose)expect a command存在,因为他们将使用 run
,而不仅仅是在内部使用 create
。
如果您想为 DVC 目的制作非常小的容器,请使用非常小的静态二进制文件,例如 tianon/true .
关于docker - 为什么在 Docker 中创建纯数据容器时需要运行 true 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30199966/