Docker — docker-compose: php-fpm работает из образа, но не работает из сборки в Dockerfile

У меня есть следующий docker-compose.

version: "2"services:
nginx:
image: nginx:latest
restart: always
ports:
- "8026:80"volumes:
- ./web:/var/www/html
- ./nginx.conf:/etc/nginx/conf.d/default.conf
links:
- fpm
fpm:
image: php:7.2-fpm
#build: php-fpm/.
restart: always
volumes:
- ./web:/var/www/html
- ./php-fpm/msmtprc:/etc/msmtprc
expose:
- "9000"

Он работает нормально, и я вижу свою страницу, когда открываю соответствующий URL.

Но после комментирования

  image: php:7.2-fpm

и раскомментируя

  build: php-fpm/.

и используя такой Dockerfile в php-fpm /, я получил ошибку 502 в nginx и такую ​​ошибку в журналах:

nginx_1 | 2018/08/02 21:19:43 [ошибка] 6 # 6: * 5 connect () не удалось (111: соединение отклонено) при подключении к восходящему каналу, клиент: 192.168.176.1, сервер:, запрос: «GET / report / post.php HTTP / 1.0 «, upstream:» fastcgi: //192.168.176.2: 9000 «, хост:» api.mytestdomain.com «

ОТ php: 7.2-fpm

RUN apt-get update && apt-get -y установить msmtp mutt
RUN echo ‘sendmail_path = «/ usr / bin / msmtp -t»‘>> /usr/local/etc/php/conf.d/mail.ini

RUN apt-get update && apt-get -y установить cron

# Добавить файл crontab в каталог cron
ДОБАВИТЬ crontab /etc/cron.d/hello-cron

# Дать права на выполнение задания cron
RUN chmod 0644 /etc/cron.d/hello-cron

# Применить работу cron
RUN crontab /etc/cron.d/hello-cron

# Создайте файл журнала, чтобы иметь возможность запустить tail
RUN touch /var/log/cron.log

# Запустить команду при запуске контейнера
CMD [«cron», «-f»]

Почему php-fpm перестает работать?

Постскриптум
Я также вижу следующую разницу:

Когда я использую image, Я получил

fpm_1 | [02-Aug-2018 21:47:50] ВНИМАНИЕ: fpm запущен, pid 1
fpm_1 | [02-Aug-2018 21:47:50] ВНИМАНИЕ: готов к обработке соединений

во время докер-сочинения.

Если я использую Dockerfile, кажется, что fpm не запускается даже

P.P.S.

Похоже, проблема в CMD ["cron", "-f"] линия. Есть ли у кого-то обходной путь, чтобы иметь cron а также fpm работает в том же контейнере?

0

Решение

проверьте журналы контейнера, это происходит потому, что, как вы говорите, fpm не запускается, это может быть любая ошибка после того, как сборка исходного контейнера php: 7.2-fpm, например, не смогла установить cron

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector