Я начал работать с докером.Я докеризовал простое приложение node.js.Я не могу получить доступ к своему контейнеру из внешнего мира (например, через браузер).
Стек:
- Приложение node.js с 4 конечными точками (я использовал сервер хапи).
- macOS
- Docker Desktop Community версии 2.0.0.2
Вот мой dockerfile:
FROM node:10.13-alpine
ENV NODE_ENV production
WORKDIR /usr/src/app
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
RUN npm install --production --silent && mv node_modules ../
RUN npm install -g nodemon
COPY . .
EXPOSE 8000
CMD ["npm","run", "start-server"]
Я сделал следующие шаги:
Я запускаю из командной строки из моего рабочего каталога:
docker image build -t ares-maros .
docker container run -d --name rest-api -p 8000:8000 ares-maros
Я проверил, работает ли контейнерчерез docker container ps
Вот результат:
- контейнер работает
Я открываю браузер и набираю 0.0.0.0:8000
(также пробовал с 127.0.0.1: 8000 или localhost: 8000) результат:
Таким образом, запущенный докер-контейнер недоступен для просмотра браузером
Я также захожу вКонтейнер введите docker exec -it 81b3d9b17db9 sh
и попробуйте получить доступ к моему node-app внутри контейнера через wget / curl и , который работает .Я получаю ответы от всех конечных точек node.js.
Где может быть проблема?Может быть, мой Mac может заблокировать соединение?
Спасибо за помощь.