无法运行' varnishadm'内部docker容器以varnishd

时间:2017-12-05 22:21:48

标签: docker docker-compose varnish

我正在运行docker(通过docker-compose)并且无法从容器中运行varnishadm。产生的错误是:

Cannot open /var/lib/varnish/4f0dab1efca3/_.vsm: No such file or directory
Could not open shared memory

我试过搜索共享内存'问题和_.vsm没有运气。似乎根本没有创建_.vsm,容器内的/ var / lib / varnish /是空的。

我尝试了各种-T设置而没有任何运气。

为什么要运行varnishadm?

我需要运行varnishadm的根本原因是在保存缓存时重新加载varnish。我的备份备份备份选项是将varnish设置为服务。我们暂时使用旧版本的Varnish。

我如何启动码头工程?

CMD varnishd -F -f /etc/varnish/varnish.vcl \
-s malloc,1G \
-a :80

完整Dockerfile

FROM ubuntu:12.04

RUN apt-get update \
  && apt-get upgrade -y \
  && apt-get install wget dtrx varnish -y \
  && apt-get install pkg-config autoconf autoconf-archive automake libtool python-docutils libpcre3 libpcre3-dev xsltproc make -y \                                                    && rm -rf /var/lib/apt/lists/*

RUN export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
RUN wget https://github.com/varnishcache/varnish-cache/archive/varnish-
3.0.2.tar.gz --no-check-certificate \
  && dtrx -n varnish-3.0.2.tar.gz
WORKDIR /varnish-3.0.2/varnish-cache-varnish-3.0.2/
RUN cd /varnish-3.0.2/varnish-cache-varnish-3.0.2/ && ./autogen.sh && 
cd /varnish-3.0.2/varnish-cache-varnish-3.0.2/ && ./configure && make install

RUN cd / && wget --no-check-certificate https://github.com/Dridi/libvmod-querystring/archive/v0.3.tar.gz && dtrx -n ./v0.3.tar.gz
WORKDIR /v0.3/libvmod-querystring-0.3
RUN ./autogen.sh && ./configure VARNISHSRC=/varnish-3.0.2/varnish-cache-varnish-3.0.2/ && make install

RUN cp /usr/local/lib/varnish/vmods/* /usr/lib/varnish/vmods/

WORKDIR /etc/varnish/
CMD varnishd -F -f /etc/varnish/varnish.vcl \
  -s malloc,1G \
  -a :80

EXPOSE 80

完整的docker-compose

version: "3"

services:
  varnish:
    build: ./
    ports:
      - "8000:80"                                                                                                                                                                        
 volumes:
      - ./default.vcl:/etc/varnish/varnish.vcl
      - ./devicedetect.vcl:/etc/varnish/devicedetect.vcl
    restart: unless-stopped

0 个答案:

没有答案
相关问题