Docker 发布端口在 Windows 10 中不起作用

问题描述 投票:0回答:2

我正在学习 docker,在将端口从 docker 容器发布到主机时遇到问题

我使用命令

docker build -t react-app .

为虚拟 React 应用程序(使用 Vite)创建了一个图像

下面是

Dockerfile
-

FROM node:16.17.0-alpine3.16
RUN addgroup app && adduser -S -G app app
USER app
WORKDIR /app
COPY package*.json  .
RUN npm ci
COPY . .
EXPOSE 5173
CMD ["npm", "run", "dev"]

并使用命令

docker run -d --name my-app -p 3000:5173 react-app

从图像创建了一个容器

注意 - 端口

5173
是 Vite 使用的默认端口

但是当我尝试从主机访问

localhost:3000
时,它不起作用。

我还尝试使用容器 IP 地址而不是 localhost,但没有成功。我使用

docker exec my-app ifconfig
命令来获取容器IP地址

有些人建议使用

C:\Windows\System32\drivers\etc\hosts
下提到的IP地址,但这也没有帮助。

有人可以帮我解决这个问题吗?谢谢!

编辑:
这是

docker logs
命令的输出 -

Output of docker logs command

reactjs windows docker port vite
2个回答
0
投票

根据Vite的官方文档,它要求我们传入

--host
参数来指定服务器应该监听哪些IP地址。

更多详细信息请点击此处 - https://vitejs.dev/config/server-options.html#server-host

更新了

package.json
以解决问题。

...
"scripts": {
   "dev": "vite --host",
   "build": "vite build",
   "preview": "vite preview --host"
},
...

0
投票

来自:

--host
帮助让它在开发容器内工作:

  "scripts": {
...
    "dev": "refine dev --host",
...
  },
© www.soinside.com 2019 - 2024. All rights reserved.