docker从头开始运行数据容器

Vad*_*imo 6 docker

我创建了一个仅包含数据的容器,其中包含打算由nginx容器使用的静态HTML文件.目标是我的webapp提供nginx可以使用的卷.

出于这个原因,我创建了一个简单的Dockerfile:

FROM scratch
MAINTAINER me <me@me.com>
ADD dist/ /webappp/
Run Code Online (Sandbox Code Playgroud)

当我从命令行运行创建的容器时 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自动化它,结果是不行的.由于此错误,自动化过程始终失败.

到目前为止,我唯一的解决方案是扩展我的小方便图像来自一个发行版,恕我直言,对于一个只有数据的容器才有意义,只是为了呼叫回声或真实!

在docker中是否有NOP exec命令,或者docker是否需要始终执行某些操作,是否可以运行不执行任何操作或不产生错误的暂存容器.

Vad*_*imo 7

如Docker手册中所述:容器不需要运行.它也没有说容器"应该"能够运行.

因此,不要通过运行仅数据容器来回应愚蠢的事情,例如 docker run -v /webappp --name webapp myOrg/webapp echo yo

仅仅创建容器就足够了,永远不会运行/启动它.

docker create -v /webappp --name webapp myOrg/webapp

自我注意:Vagrant在配置时不支持docker create!