同じサーバーのブロックチェーンに接続するnodejsアプリケーションがあります。通常、私は127.0.0.1 +ポート番号を使用します(各チェーンは異なるポートを取得します)。ドッカーコンテナのローカルホストに接続するには(コンテナ内から)
私はチェーンとアプリケーションを同じコンテナに入れて、フロントエンドの開発者がチェーンの設定を気にする必要がないようにしました。
しかし、私が画像を構築するとき、鎖が始まるはずです。私がイメージを走らせるとき、それはそうではありません。さらに、私がコンテナに入って手動で実行しようとすると、 "[email protected]:PORT"と表示されます。だから私は127.0.0.1の代わりに127.0.0.2のポートに接続する必要があると思ったが、それはうまくいかない。
これは新しいものではなく、データベースと同じように動作するはずです。誰も助けることができますか?最初のアドバイスは、どうやって間違っているのか分からないので、これらのイメージをデバッグする方法です。ここ
は私dockerfileがところでによる政策へ
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get install -y curl
RUN apt-get install -y apt-utils
RUN apt-get install -y build-essential
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get install -y nodejs
ADD workfolder/app /root/applications/app
ADD .multichain /root/.multichain
RUN npm install \
&& apt-get upgrade -q -y \
&& apt-get dist-upgrade -q -y \
&& apt-get install -q -y wget curl \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& cd /tmp \
&& wget http://www.multichain.com/download/multichain-1.0-beta-1.tar.gz \
&& tar -xvzf multichain-1.0-beta-1.tar.gz \
&& cd multichain-1.0-beta-1 \
&& mv multichaind multichain-cli multichain-util /usr/local/bin \
&& cd /tmp \
&& rm -Rf multichain*
RUN multichaind Chain -daemon
RUN cd /root/applications/app && npm install
CMD cd /root/applications/app && npm start
EXPOSE 8080
である私はそれが動作するかどうかを確認するために、ポート80でサーバーに接続することができます。ドッカー画像を実行すると、私は/ api-docsに行くことができますが、エンドポイントではブロックチェーンとのやりとりを開始できません。
ブロックチェーンを開始するには、CMDや 'docker run'で何をしていますか? – Robert
sudo docker run -d -p 80:8080 –
Rachelle
あなたはどのプログラムを起動したいのかをドッカーに伝える必要があります。 Dockerfileの 'CMD'または' ENTRYPOINT'でこれを達成できます。そこに何かありますか? – Robert