Docker Varnish CMD错误 - 没有此类文件或目录



我正在尝试使一个清漆容器作为多室内码头环境的一部分运行。

我正在使用https://github.com/newsdev/docker-varnish作为基础。

我的dockerfile看起来像:

FROM newsdev/varnish:4.1.0
COPY start-varnishd.sh /usr/local/bin/start-varnishd
ENV VARNISH_VCL_PATH /etc/varnish/default.vcl
ENV VARNISH_PORT 80
ENV VARNISH_MEMORY 64m
EXPOSE 80
CMD [ "exec /usr/local/sbin/varnishd -j unix,user=varnishd -F -f /etc/varnish/default.vcl -s malloc,64m -a 0.0.0.0:80 -p http_req_hdr_len=16384 -p http_resp_hdr_len=16384" ]

当我作为Docker-Compose设置的一部分运行时,我会得到:

错误:对于Eventsapi_varnish_1,无法启动服务varnish:oci 运行时错误:container_linux.go:262:启动容器进程 引起的" exec:" exec/usr/local/sbin/varnishd -j unix,user = varnishd -f -f/etc/varnish/default.vcl -s malloc,64m -a 0.0.0.0.0:80 -p http_req_hdr_len = 16384 -p http_resp_hdr_len = 16384 /usr/local/sbin/varnishd -j unix,user = varnishd -f -f -f /etc/varnish/default.vcl -s malloc,64m -a -a 0.0.0.0:80 -p http_req_hdr_len = 16384 -p http_resp_hdr_len = 16384:没有这样的文件或 目录"

如果我尝试

,我会得到相同的
CMD ["start-varnishd"]

(就像基本的新闻台上/docker-varnish中一样)

CMD [/usr/local/bin/start-varnishd]

但是,如果我直接在容器上运行bash壳:

docker run -t -i eventsapi_varnish /bin/bash

然后从那里运行varnishd命令,Varnish启动良好(并开始抱怨它找不到Web容器,显然)。

我在做什么错?什么文件找不到?再次直接围绕运行的容器,看来Varnish是它应该认为应该是的地方,VCL文件是它应该是的地方...是什么阻止了它在Docker-Compose内部运行?

谢谢!

我没有遇到为什么会遇到此错误的底部,而是通过使用(更近期的?)fork:https://hub.docker"修复"它。com/r/tripviss/varnish/。我的dockerfile现在只是:

FROM tripviss/varnish:5.1
COPY default.vcl /usr/local/etc/varnish/

最新更新