Я пытаюсь заставить Лак работать в контейнере, и я сталкиваюсь со странной проблемой. Вещи хорошо работают, если я вхожу в систему и затем выполняюсь из командной строки, но когда я пытаюсь выполнить ее, с помощью той же команды, от Докера, это кажется сбоями (я предполагаю, что она не берет конфигурации правильно). Какие-либо идеи?
$ docker run --add-host "web:127.0.0.1" -ti my-proxy /bin/bash
root@f81c7d3ca1c6:/# /usr/sbin/varnishd -F -f /etc/varnish/default.vcl -a :80 -T localhost:6082 -S /etc/varnish/secret -s malloc,256m
child (24) Started
Child (24) said Child starts
^CManager got SIGINT
Stopping Child
root@f81c7d3ca1c6:/# exit
$ docker run --add-host "web:127.0.0.1" my-proxy
WARNING: (-sfile) file size reduced to 0 (80% of available disk space)
child (14) Started
Pushing vcls failed:
CLI communication error (hdr)
Stopping Child
Child (14) died signal=6
Child (14) Panic message: Assert error in smf_open_chunk(), storage_file.c line 403:
Condition(sz != 0) not true.
thread = (cache-main)
ident = Linux,4.0.9-boot2docker,x86_64,-sfile,-smalloc,-hcritbit,no_waiter
Backtrace:
0x430935: /usr/sbin/varnishd() [0x430935]
0x44b2cf: /usr/sbin/varnishd() [0x44b2cf]
0x44b561: /usr/sbin/varnishd() [0x44b561]
0x449a57: /usr/sbin/varnishd(STV_open+0x27) [0x449a57]
0x42f74f: /usr/sbin/varnishd(child_main+0xbf) [0x42f74f]
0x44255f: /usr/sbin/varnishd() [0x44255f]
0x442e62: /usr/sbin/varnishd(MGT_Run+0x1d2) [0x442e62]
0x40c2c0: /usr/sbin/varnishd(main+0x930) [0x40c2c0]
0x7f9ccbc40ec5: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f9ccbc40ec5]
0x40c644: /usr/sbin/varnishd() [0x40c644]
Child (-1) said Child starts
Child cleanup complete
manager dies
Вот команда Docker:
CMD ["/usr/sbin/varnishd", "-F", "-f", "/etc/varnish/default.vcl", "-a", ":80", "-T", "localhost:6082", "-S", "/etc/varnish/secret", "-s", "malloc,256m"]
Ошибка здесь была полностью вызвана Docker и никак не связана с Varnish. Я делал кучу сборок, и выяснилось, что проблема заключалась в том, что у меня закончились inodes.