Docker + HHVM:CMD 失败,但 CL 上的相同命令有效

Docker + HHVM:CMD 失败,但 CL 上的相同命令有效

我正在使用 HHVM,在尝试运行我的 Dockerized HHVM 容器时遇到一个问题:每当我尝试将 CL 参数传递给 HHVM 时,从 Dockerfile CMD 使用时都会失败,但是当我将其作为“docker run”上的参数添加时,该命令就会起作用。

这是我的 Dockerfile

FROM debian:jessie

# install HHVM
RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449 && \
    echo deb http://dl.hhvm.com/debian jessie main | tee /etc/apt/sources.list.d/hhvm.list && \
    apt-get update && \
    apt-get -y install hhvm

VOLUME ["/var/www/html"]

# simply phpinfo();
COPY index.php /var/www/html/index.php

EXPOSE 9000

ENTRYPOINT ["hhvm"]

CMD ["-m s -v Server.Type=fastcgi -v Server.Port=9000"]

每当我尝试运行这个容器时docker run -d me/hhvm我都会得到Error in command line: invalid mode: s -v Server.Type=fastcgi -v Server.Port=9000

我还尝试了以下操作:

  • -v和之间没有空格Server.x。与上述错误相同。
  • 使用--mode server(官方文档中提到的使用方法)我得到了错误unrecognised [sic] option '--mode server -vSer...等等。

但是,使用上面配置的 Dockerfile,我可以运行以下命令,并且它可以按预期工作docker run -d me/hhvm -m s -v Server.Type=fastcgi -v Server.Port=9000

没有错误,容器正在运行并通过端口 9000 接受连接等。

那么我遗漏了什么?

相关内容