2017-01-05 14 views
5

私はangular-cliで新しいAngular2アプリを作成し、Dockerで実行しました。しかし、私はそれをlocalhostから接続することはできません。まずAngular2 appとNodeJsを持つDockerコンテナは応答しません

私は私のローカルマシン上でアプリをINIT:

ng new project && cd project && "put my Dockerfile there" && docker build -t my-ui . 

私はコマンドでそれを起動します。

docker run -p 4200:4200 my-ui 

その後、私はlocalhostにしてみてください:

curl localhost:4200 

を受け取ります

カール(56)のrecv失敗:ピア

による接続リセット、Iは、容器(ドッカーEXEC -tiコンテナIDバッシュ)を実行中にスイッチを試み、ローカルホストカール実行:4200を、それが動作します。

私も--net =ホストのparamでコンテナを実行しようとした:

docker run --net=host -p 4200:4200 my-ui 

そして、それは動作します。何が問題ですか?デーモンモードでコンテナを実行しようとしましたが、それは助けにはなりませんでした。ありがとう。

マイDockerfile

FROM node 

RUN npm install -g [email protected] && npm cache clean && rm -rf ~/.npm 

RUN mkdir -p /opt/client-ui/src 
WORKDIR /opt/client-ui 

COPY package.json /opt/client-ui/ 
COPY angular-cli.json /opt/client-ui/ 
COPY tslint.json /opt/client-ui/ 

ADD src/ /opt/client-ui/src 

RUN npm install 
RUN ng build --prod --aot 

EXPOSE 4200 

ENV PATH="$PATH:/usr/local/bin/"  
CMD ["npm", "start"] 
+0

に更新すなわち、外部アプリを提供するためにangular-cliを変更する必要がありますか? – shusson

答えて

6

あなたが(localhostのみで利用可能)ループインターフェイス上のデフォルトの開始により、開発サーバーとそれを実行するためにng serveを使用しているようです。特定のパラメータを指定する必要があります:

ng serve --host 0.0.0.0 

すべてのインターフェイスで実行するには、

+0

ありがとうございました。 – jiri463

3

あなたのNPMスクリプトがどのようなOSとドッキングウィンドウのバージョンng serve --host 0.0.0.0

+0

ありがとうございます、それは動作します。 – jiri463

関連する問題