如何在乘客泊坞容器

时间:2017-12-31 01:50:24

标签: docker passenger

当我尝试使用我在Dockerfile中设置的环境变量($HOME)时,在启动时运行的脚本中,未设置$HOME。如果我在容器中运行printenv,则设置$ HOME。所以我很困惑,不知道发生了什么。

我正在使用phusion / passenger-customizable图像,以便我可以通过pm2运行自定义节点服务器。我需要一个不同版本的Node,然后捆绑在节点特定的乘客图像中。

Dockerfile

# Simplified
FROM phusion/passenger-customizable:0.9.27
RUN apt-get update && apt-get upgrade -y -o Dpkg::Options::="--force-confold"

# Set environment variables needed for the docker image.
ARG HOME=/opt/var/app
ENV HOME $HOME

# Use baseimage-docker's init process.
CMD ["/sbin/my_init"]

RUN mkdir /etc/service/app
ADD start.sh /etc/service/app/run
RUN chmod a+x /etc/service/app/run

start.sh

echo $HOME
# run some scripts that reference the $HOME directory

我需要做什么才能在我的启动脚本中引用Dockerfile中设置的环境变量?或者我只需要对启动脚本中的路径进行硬编码并将其称为一天?

1 个答案:

答案 0 :(得分:0)

以某种方式保留

$HOME。按@Sebastian运行printenv时,我所有的其他变量都在$HOME。我在它的前面添加了我公司的首字母,它按预期工作。