У меня есть 2 контейнера для докеров: приложение & Веб.Докер: используйте гнезда для связи между двумя контейнерами
App
- простой контейнер с кодом приложения php. Он используется только для хранения и доставки кода на удаленный хост Docker.
App изображения Dockerfile:
FROM debian:jessie
COPY . /var/www/app/
VOLUME ["/var/www/app"]
CMD ["true"]
Web
- контейнер веб-сервис, состоит из PHP-FPM + Nginx.
Веб изображения Dockerfile:
FROM nginx
# Remove default nginx configs.
RUN rm -f /etc/nginx/conf.d/*
# Install packages
RUN apt-get update && apt-get install -my \
supervisor \
curl \
wget \
php5-cli \
php5-curl \
php5-fpm \
php5-gd \
php5-memcached \
php5-mysql \
php5-mcrypt \
php5-sqlite \
php5-xdebug \
php-apc
# Ensure that PHP5 FPM is run as root.
RUN sed -i "s/user = www-data/user = root/" /etc/php5/fpm/pool.d/www.conf
RUN sed -i "s/group = www-data/group = root/" /etc/php5/fpm/pool.d/www.conf
# Pass all docker environment
RUN sed -i '/^;clear_env = no/s/^;//' /etc/php5/fpm/pool.d/www.conf
# Add configuration files
COPY config/nginx.conf /etc/nginx/
COPY config/default.vhost /etc/nginx/conf.d
COPY config/supervisord.conf /etc/supervisor/conf.d/
COPY config/php.ini /etc/php5/fpm/conf.d/40-custom.ini
VOLUME ["/var/www", "/var/log"]
EXPOSE 80 443 9000
ENTRYPOINT ["/usr/bin/supervisord"]
Мой вопрос: Можно ли связать веб-контейнер и контейнер App сокетом?
Основная причина этого - использование контейнера App для развертывания обновленного кода на удаленном хосте Docker. Использование томов/названных томов для общего кода между контейнерами не является хорошей идеей. Но Розетки могут помочь.
Благодарим за помощь и поддержку!
Я считаю, что вы можете разместить сокет внутри тома, чтобы поделиться им. Вы даже можете сделать его одним файлом на хосте и поделиться этим файлом в качестве тома. – BMitch
Большое спасибо за ваш ответ! –