Docker compose docker varnish cmd错误-没有此类文件或目录

Docker compose docker varnish cmd错误-没有此类文件或目录,docker-compose,varnish,Docker Compose,Varnish,我试图让清漆容器作为多容器Docker环境的一部分运行 我用它作为基地 我的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 /u

我试图让清漆容器作为多容器Docker环境的一部分运行

我用它作为基地

我的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\u 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:80-p http_req_hdr_len=16384-p http_resp_hdr_len=16384\”:stat 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:没有此类文件或 目录“

如果我尝试,我也会得到同样的结果

CMD ["start-varnishd"]
(与基本newsdev/docker清漆相同)

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

docker run -t -i eventsapi_varnish /bin/bash
然后从那里运行varnishd命令,varnish启动正常(显然,它开始抱怨找不到web容器)

我做错了什么?它找不到什么文件?再次直接查看正在运行的容器,似乎Varnish是它认为应该的位置,VCL文件是它认为应该的位置。。。是什么阻止它从docker compose内部运行


谢谢

我没有弄清为什么会出现这个错误,但通过使用(最近的?)fork:“修复”了它。我的Dockerfile现在只是:

FROM tripviss/varnish:5.1

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

COPY default.vcl /usr/local/etc/varnish/