我创建了一个仅包含数据的容器,其中包含打算由Nginx容器使用的静态HTML文件.目标是我的webapp提供Nginx可以使用的卷.
出于这个原因,我创建了一个简单的Dockerfile:
FROM scratch
MAINTAINER me
当我从命令行运行创建的容器时运行-d -v / webappp –name webapp myOrg / webapp echo yo
我从守护进程收到错误错误响应:无法启动容器db7fd5cd40d76311f8776b1710b4fe6d66284fe75253a806e281cd8ae5169637:exec:“echo”:在$PATH中找不到可执行文件,如果当然正确,因为图像根本没有命令可以执行.无法使用命令运行容器.
虽然命令行上的这个错误对我来说不是一个大问题,因为我知道数据容器仍然是创建的,现在可以被Nginx访问,如果我想用Vagrant自动化它,结果是不行的.由于此错误,自动化过程始终失败.
到目前为止,我唯一的解决方案是扩展我的小方便图像来自一个发行版,恕我直言,对于一个只有数据的容器才有意义,只是为了呼叫回声或真实!
在docker中是否有NOP exec命令,或者docker是否需要始终执行某些操作,是否可以运行不执行任何操作或不产生错误的暂存容器.
最佳答案
如Docker手册中所述:容器不需要运行.它也没有说容器“应该”能够运行.
因此,不要通过运行仅数据容器来回应愚蠢的东西,例如docker run -v / webappp –name webapp myOrg / webapp echo yo
仅仅创建容器就足够了,永远不会运行/启动它.
docker create -v / webappp –name webapp myOrg / webapp
自我注意:Vagrant在配置时不支持docker create!