Двоичные файлы внутри изображений контейнера Docker не запускаются, если их явно не вызывать

Я создаю свой собственный Dockerfile с официальными изображениями в качестве его основы, которую я настраиваю с помощью Ansible для простых изменений конфигурации. Соответствующая часть файла Docker:

FROM php:7.0-fpm
MAINTAINER hyperfocus

# Ansible cmds

EXPOSE 9000
CMD [“php-fpm”]

Всякий раз, когда изображение построено, и я пытаюсь запустить его с docker run php_fpm_prod:v0.1 это дает мне ошибку: /bin/sh: 1: [“php-fpm”]: not found,

Но всякий раз, когда я пытаюсь начать это с docker run php_fpm_prod:v0.1 php-fpm это начинается успешно:

[03-Nov-2015 10:24:38] NOTICE: fpm is running, pid 1
[03-Nov-2015 10:24:38] NOTICE: ready to handle connections

Как я могу сделать docker run php_fpm_prod:v0.1 вести себя как docker run php_fpm_prod:v0.1 php-fpm?

Благодарю.

2

Решение

CMD из php fpm Dockerfile уже CMD ["php-fpm"] (переопределяя Debian-Jessie CMD), поэтому вам не нужно указывать это снова.

Эти Dockerfile для Debian или PHP не определяют ENTRYPOINT что означает, что применяется по умолчанию /bin/sh -c,

Сначала убедитесь, что вDockerfile CMD command not found«использовать правильные цитаты:

CMD ["php-fpm"]

(Или не указывайте CMD вообще, так как он будет унаследован от базового образа)

1

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

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

По вопросам рекламы [email protected]