2017-10-20 10 views
1

私はこの構成ファイルをセットアップしましたが、すべてが期待どおりに機能していましたが、先週実際に開発用に他の開発者に渡そうとしました。ネットワークの私の人生のために私は理由がわからない、たくさんのグーグルが結果をもたらさなかった。Dockerネットワークポートが公開されていません。

ネットワークが橋の上で、DEVが動作していない唯一のものです、PRODをスピンアップすると、正常に動作します。ここ

version: '2' 
    services: 

    dev: 
     build: 
     context: ./ 
     volumes: 
     - ./:/app 
     ports: 
     - "8080:8080" 
     command: yarn start 

    prod: 
     build: 
     context: ./ 
     ports: 
     - "8080:5000" 
     command: node express.js 

は、私のようにOSを排除した関連するdockerfile

FROM remejuan/node-yarn:8.5.0 

# Override the base log level (info). 
ENV NPM_CONFIG_LOGLEVEL warn 

# Copy all local files into the image. 
RUN mkdir -p /app 
WORKDIR /app 
COPY ./ ./ 

# Install all dependencies of the current project. 
RUN yarn install --pure-lockfile 
RUN yarn cache clean 

# Install and configure `serve`. 
EXPOSE 8080 
EXPOSE 5000 

です原因、私たちは2つのWindows 10マシンで最新のCEを実行しています。これはMacと同じですが、私のマシンはubuntuを実行していますが、devは動作しませんが、ログは8080ポートでリッスンしています。

docker run -ti -p 8080:8080 ...を使用して手動でジャンプすることもできません。

可能な限り考えてください。

おかげ

+0

ドッカーファイルのように複数のポートに公開している理由 –

+0

Prod 5000; Dev 8080 – RemeJuan

答えて

1

あなたは動作しません同じポート8080へのあなたのコンテナをさらしています。 2つのサービスが同じポートを使用しているためです。 devに別のポートを使用してみてください。 指定していない場合は、docker-composeファイルで環境変数を設定することもできます。あなたのアプリケーションを実行しているenvを検出する環境を明示的に指定する必要があります

+0

ありがとう、私が走ったすべてのドックは、両方でそれを持っていた、無駄にそれを削除したが、それはwebpacksかもしれないと思うに私を導く。 Googleはこの言葉を使って、webpack configを渡す必要がある追加のものに私を誘導します。ありがとう – RemeJuan

関連する問題