Я пытаюсь докеризировать приложение реакции.Я использую следующий Dockerfile для достижения этой цели.
# base image
FROM node:9.4
# set working directory
WORKDIR /usr/src/app
# install and cache app dependencies
COPY package*.json ./
ADD package.json /usr/src/app/package.json
RUN npm install
# Bundle app source
COPY . .
# Specify port
EXPOSE 8081
# start app
CMD ["npm", "start"]
Кроме того, в моем package.json сценарий запуска определен как "scripts": {
"start": "webpack-dev-server --mode development --open",
....
}
Я создаю образ как:
docker build . -t myimage
И я наконец запускаю образ, как
docker run IMAGE_ID
Затем эта команда запускает образ, однако, когда я перехожу к localhost: 8080 или localhost: 8081, я ничего не вижу.
Однако, когда я захожу в docker-контейнер для myimage и выполняю curl -X GET http:localhost:8080
, я могу получить доступ к своему приложению реакции.
Я также развернул это на google-kubernetes и открыл для этого сервис балансировки нагрузки.Однако произошло то же самое, я не могу получить доступ к приложению реагировать на открытой конечной точке, но когда я вошел в контейнер и сделал запрос curl, я получил index.html.
Итак, как мне запустить образ этого образа докера, чтобы я мог получить доступ к приложению через браузер.