2016-10-19 7 views
-1

ビルド時のように見えますが、PATH環境変数は無視されます。DockerfileはPATH環境変数を無視します

COPY my_app /opt/my_app 
RUN echo $PATH 
RUN node --version 

CMD ["node", "app.js"] 

...、それは言って、私のビルド時のエラーをgaves:私はこのように私のDockerfileを持って

/binに/ SH:ノード:コマンドが コマンドが見つかりません「/ bin/sh -c node --version 'はゼロ以外のコードを返しました:127

RUN echo $ PATHは、PATHにnode-dirがすでにあることを示しています。なぜそれがピックアップされないのですか?ドッカービルド?

​​

答えて

0

nodeを使用する前にNVMを設定する必要があります。このような

何か作業をする必要があります:

COPY my_app /opt/my_app 
RUN echo $PATH 
RUN nvm use 6.9.0 
# or, if you want this version to be the default `node`, use: 
# `nvm alias default 6.9.0` 
RUN node --version 

CMD ["node", "app.js"] 
1

$PATH変数ではなく、実行時に、唯一のビルド時に、あなたのホスト環境から入手可能です。とにかく、マシン固有のイメージを作っているときには、ビルド時にその使用を強く拒否します。

docker run documentationには、どの環境変数がデフォルトで実行時にどの値に設定されているかが明確に記載されています。それ以外は手動で設定する必要があります。これはこう言われる、

新しいコンテナが作成されると、ドッカーは、自動的に次の環境変数を設定します:

HOME Set based on the value of USER 
HOSTNAME The hostname associated with the container 
PATH Includes popular directories, such as :/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
TERM xterm if the container is allocated a pseudo-TTY 
関連する問題