Dockerでホストされているフロントエンド専用のWebアプリケーションがあります。バックエンドはすでに存在していますが、「カスタムIP」アドレスを持っているので、アクセスするためにローカルの/ etc/hostsファイルを更新しなければなりませんでした。私のローカルマシンからは問題なくバックエンドAPIにアクセスできます。Dockerの実行結果が「上流にホストが見つかりません」
しかし、問題は、Dockerが何らかの形でこの「カスタムIP」を解決できないということです。たとえホストがコンテナ(image?)/ etc/hostsファイルに書き込まれていても問題です。
ドッカーコンテナが起動すると、私は
$ docker run media-saturn:dev
2016/05/11 07:26:46 [emerg] 1#1: host not found in upstream "my-server-address.com" in /etc/nginx/sites/ms.dev.my-company.com:36
nginx: [emerg] host not found in upstream "my-server-address.com" in /etc/nginx/sites/ms.dev.my-company.com:36
このエラーが表示され、私は私がマシンにsshをするときの/ etc/hostsこの
# install wget
RUN apt-get update \
&& apt-get install -y wget \
&& rm -rf /var/lib/apt/lists/*
# The trick is to add the hostname on the same line as you use it, otherwise the hosts file will get reset, since every RUN command starts a new intermediate container
# it has to be https otherwise authentification is required
RUN echo "123.45.123.45 my-server-address.com" >> /etc/hosts && wget https://my-server-address.com
のように、Dockerfileにコマンドを経由してファイルを更新/ etc/hostsの現在の内容を確認すると、 "123.45.123.45 my-server-address.com"という行が表示されます。
誰もがこれで私を助けることができますか?私はDocker newbeeです。
どのようなエラーメッセージが表示されますか?プロキシの背後にいますか? – VonC
@VonCエラーメッセージは、 '/etc/nginx/sites/ms.dev.topmonks.com:36:'の上流にある" ms-test.internal.pricefx.eu "にエラーメッセージが見つかりませんでした。プロキシがありません –
画像を作成するのにどのようなコマンドを使用していますか? (意味、 'wget ms-test.internal.pricefx.eu'が成功した' media-saturn:dev'というタグ付き画像を構築しましたか?) – VonC