Expose порт не работает в докере - PullRequest
0 голосов
/ 09 мая 2018

У меня есть это изображение

FROM ubuntu:16.04

RUN apt-get update  && \
    apt-get install -y curl vim && \
    curl -sL "https://deb.nodesource.com/setup_8.x" | bash - && \
    apt-get install -y nodejs net-tools git && \
    npm install -g @angular/cli

EXPOSE 4200

WORKDIR /ng_app/jwt-auth

ENTRYPOINT ng serve

Я запускаю его с

docker run -it -v `pwd`:/ng_app -d -p 4200:4200 --name ang_cli ang_cli

Журнал вот такой

** Angular Live Development Server is listening on localhost: 4200, open your browser on http://localhost:4200/ **
 3
Date: 2018-05-08T21:47:18.204Z
Hash: 993ee08f65694a2dd3c9
Time: 10559ms
chunk {main} main.js, main.js.map (main) 10.6 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 227 kB 
[initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 5.4 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 15.6 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 3.37 MB [initial] [rendered]
ℹ 「wdm」: Compiled successfully.

Но localhost: 4200 ничего не показывает .

Я создал пустое приложение с ng new jwt-auth

Я уже пробовал

--expose
--net host

Но без удачи.

1 Ответ

0 голосов
/ 09 мая 2018

Вопрос должен быть здесь:

** Angular Live Development Server is listening on localhost: 4200

Это локальный хост контейнера , поэтому порт 4200 будет недоступен для хоста докера, а также для любой другой машины, использующей сопоставленный 4200.

Вы должны запустить ng с привязкой 0.0.0.0:

ng serve --host 0.0.0.0

и отображение должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...