为什么在Docker中创建仅数据容器时需要运行true命令?

时间:2015-05-12 19:38:04

标签: docker

我正在阅读Docker documentation中的一些内容,我注意到他们在创建容器时会传递true命令。

$ sudo docker create -v /dbdata --name dbdata training/postgres /bin/true

为什么他们将/bin/true传递给容器?如果我理解正确,我的仅数据容器永远不会运行,那么甚至是必要的吗?

1 个答案:

答案 0 :(得分:5)

没有必要运行命令,但是现在Docker确实要求你指定要运行的命令(或至少是一个入口点)。我想这是出于模式完整性的原因。以下命令将成功创建一个docker容器:

docker create -v /dbdata --name dbdata --entrypoint=_ scratch

该容器可以用作卷容器,但它永远不能运行。

也就是说,许多Docker实用程序(例如Compose)expect a command都存在,因为它们将在内部使用run,而不仅仅是create

如果您想为DVC目的制作非常小的容器,请使用非常小的静态二进制文件,例如tianon/true

相关问题