PHP7 在 Alpine 下 Docker 找不到命令

PHP7 under Alpine in Docker command not found

当我为容器 运行 一个交互式 shell 时,肯定有一个 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']

我删除了配置更改,因为它们无关紧要。

系统信息:

Container:

cat /etc/release

3.7.0

NAME="Alpine Linux"

My PC:

docker -v

Docker version 17.12.1-ce, build 7390fc6

问题是单引号 ' 不起作用 - 根据 documentation 参数被解析为 JSON 数组。所以正确的 "CMD" 行应该是这样的:

CMD ["php-fpm7", "-F"]