我创建了一个仅包含静态HTML文件的数据容器,旨在供nginx容器使用。我的目标是让我的web应用程序提供一个卷,供nginx使用。
为此,我创建了一个简单的Dockerfile:
当我从命令行运行创建的容器时
到目前为止,我的唯一解决方案是从IMHO中扩展我的小巧镜像,这对于一个数据容器来说没有意义,只是为了调用echo或true!
Docker是否有NOP exec命令?或者Docker是否总是需要执行某些东西?是否可能运行一个什么都不做或不产生错误的scratch容器?
为此,我创建了一个简单的Dockerfile:
FROM scratch
MAINTAINER me <me@me.com>
ADD dist/ /webappp/
当我从命令行运行创建的容器时
run -d -v /webappp --name webapp myOrg/webapp echo yo
,我会得到错误Error response from daemon: Cannot start container db7fd5cd40d76311f8776b1710b4fe6d66284fe75253a806e281cd8ae5169637: exec: "echo": executable file not found in $PATH
。这当然是正确的,因为镜像根本没有可执行的命令。不能在没有命令的情况下运行容器。虽然这个命令行错误对我来说不是什么大问题,因为我知道数据容器已经创建并且现在可以被nginx访问,但如果我想要使用Vagrant自动化它,它就成了一个无法实现的目标。自动化过程总是因为这个错误而失败。到目前为止,我的唯一解决方案是从IMHO中扩展我的小巧镜像,这对于一个数据容器来说没有意义,只是为了调用echo或true!
Docker是否有NOP exec命令?或者Docker是否总是需要执行某些东西?是否可能运行一个什么都不做或不产生错误的scratch容器?