2015-01-10 2 views
1

Я просто пытаюсь настроить веб-сервер с помощью Docker. У меня 3 различные контейнеры:Docker, лак, соединение сброс peer

  • jprjr/PHP-FPM

    sudo docker run --name c_php-fpm -v $HOME/data/webstack/www:/srv/http:ro -p 9000:9000 -d jprjr/php-fpm

  • Nginx

    sudo docker run --name c_nginx -v $HOME/data/webstack/www:/usr/share/nginx/html:ro -p 8080:80 --link c_php-fpm:c_php-fpm -d nginx nginx

  • jacksoncage/лак

    sudo docker run --name c_varnish -i -d -p 80:80 --link c_nginx:c_nginx -e VARNISH_BACKEND_PORT=80 -e VARNISH_BACKEND_IP=c_nginx jacksoncage/varnish

PHP и Nginx не работают без каких-либо проблем, но есть ошибка для лака:

curl -I http://localhost/index.html curl: (56) Recv failure: Connection reset by peer

sudo docker ps возвращение:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4ee21c4a80e2 jacksoncage/varnish:latest "/bin/bash" 25 minutes ago Up 25 minutes 0.0.0.0:80->80/tcp c_varnish
4dcc7babd92c nginx:latest "nginx" 16 hours ago Up 48 minutes 443/tcp, 0.0.0.0:8080->80/tcp c_nginx
3c0f8c1d634c jprjr/php-fpm:latest "php-fpm -F" 16 hours ago Up 48 minutes 0.0.0.0:9000->9000/tcp c_php-fpm

sudo docker logs c_varnish возвращение ничего.

Спасибо!

+1

Я также получил «Connection reset by peer» в другом приложении, потому что мой сервер (работающий внутри контейнера) прослушивал только на localhost. Можете ли вы попасть в контейнер Varnish через 'docker exec -it varnish bash' и попробовать' curl -I http: // localhost/index.html' внутри? – dukebody

+0

Спасибо за ваш ответ, у меня есть следующая ошибка: 'curl: (7) Не удалось подключиться к порту localhost 80: Connection reject'. – Neabfi

+0

Это означает, что Лак действительно не слушает порт 80 внутри контейнера. Попробуйте запустить './Start.sh' вручную и проверить наличие ошибок. BTW моя предыдущая команда должна была сказать 'docker exec -it c_varnish bash' (не' лак '). – dukebody

ответ

0

Существует ошибка в текущем образе контейнера, связанного с лаковой VCL файлы больше не принимает переменные среды в серверной конфигурации: https://github.com/jacksoncage/varnish-docker/issues/2

Чтобы решить эту проблему, получите оригинальную Dockerfile и связанные с ним файлы из https://github.com/jacksoncage/varnish-docker, применяются заплата в https://github.com/jacksoncage/varnish-docker/pull/3/commits и восстановить изображение с

sudo docker build -t jacksoncage/varnish . 

Вы должны иметь возможность запускать новые контейнеры с сгенерированным изображением работает правильно.

+0

Спасибо @dukebody, патч теперь передан в мастер, и новая версия, не использующая переменные окружения внутри конфигурации лака, теперь доступна на докере-хабе, пожалуйста, потяните вниз через' docker pull jacksoncage/lnish' – jacksoncage

Смежные вопросы