У меня есть очень простой Dockerfile
, который устанавливает Vue CLI
и предоставляет порт 8080
:
FROM node
RUN yarn global add @vue/cli
EXPOSE 8080
У меня есть docker-compose.yml
, который соединяет порт хоста с открытым на контейнере:
version: '3'
services:
vue:
build:
context: .
dockerfile: ./Dockerfile
volumes:
- .:/home/node
working_dir: '/home/node'
ports:
- '8080:8080'
Я запускаю контейнер с docker-compose run vue bash
, затем создаю проект Vue с vue create foo
.
В папке проекта я добавил vue.config.js
:
module.exports = {
devServer: {
host: '0.0.0.0',
port: 8080
}
}
Когда я запускаю сервер разработки с yarn serve
, я вижу:
App running at:
- Local: http://localhost:8080/
It seems you are running Vue CLI inside a container.
Access the dev server via http://localhost:<your container's external mapped port>/
Хотя он показывает, что он размещен локально на localhost
, а не 0.0.0.0
, это выглядит как известная ошибка отображения .
Однако я не могу дозвониться до Vue через http://localhost:8080
с хост-компьютера.
Я просмотрел несколько руководств по настройке этогои я не могу понять, почему я не могу подключиться к серверу Vue dev.