我正在使用 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 接受连接等。
那么我遗漏了什么?