Когда я запускаю интерактивную оболочку для контейнера, определенно есть бинарный файл PHP:
sudo docker run -t -i neekoy/php7 /bin/sh
/ # which php-fpm7
/usr/sbin/php-fpm7
Но когда я запускаю тот же контейнер, я получаю следующее:
sudo docker run neekoy/php7
/bin/sh: [php-fpm7]: not found
Это мой Dockerfile:
FROM alpine:latest
RUN apk update
RUN apk add php7-fpm php7-mcrypt php7-soap php7-openssl php7-gmp php7-pdo_odbc php7-json php7-dom php7-pdo php7-zip php7-mysqli php7-sqlite3 php7-apcu php7-pdo_pgsql php7-bcmath php7-gd php7-odbc php7-pdo_mysql php7-pdo_sqlite php7-gettext php7-xmlreader php7-xmlrpc php7-bz2 php7-iconv php7-pdo_dblib php7-curl php7-ctype
EXPOSE 9000
CMD ['php-fpm7']
Я удалил изменения конфигурации, потому что они не имеют значения.
Системная информация:
кот / и т.д. /релиз
3.7.0
NAME = «Alpine Linux»
докер -v
Docker версия 17.12.1-ce, сборка 7390fc6
Помогите пожалуйста.
Проблема в том, что одинарные кавычки '
не работают — согласно документация аргумент анализируется как JSON-массив. Таким образом, правильная строка «CMD» будет выглядеть так:
CMD ["php-fpm7", "-F"]
Других решений пока нет …