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

标签 docker

我正在阅读一些 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/

相关文章:

android - android 上的 docker(gnuroot debian)

docker - 如何在运行docker daemon中查看日志信息?

docker - 如果 docker 容器需要主机未提供的内核功能,会发生什么情况?

linux - 使用 ip link 连接多个 Chroot Jails

jenkins - 在Jenkins Shell中运行Docker命令

ubuntu - apt-get update'返回非零代码: 100

java - Docker 化 Play 应用程序 - 下载互联网

c# - 在哪里可以找到 Azure 应用服务的 docker 容器日志

docker - 将 KafkaConnect 添加到现有 Ambari 服务

ipv4 - Docker容器没有ipv4地址