WSL2环境下Docker Swarm服务无法从Windows访问的问题
WSL2环境下Docker Swarm部署服务无法从Windows访问的问题
在WSL2的Ubuntu环境中使用Docker时,遇到以下问题:通过docker-compose up --build启动容器后,Windows端浏览器可正常访问服务;但改用docker stack deploy以Swarm模式部署后,Windows端无法访问服务。
相关代码与配置
Node服务代码(WSL2 Ubuntu中)
const express = require('express'); const app = express(); app.get("/", (request, response) => { response.status(200).json({ "msg":"Server running !!!" }) }); app.listen(4000, (req, res) => { console.log("Server running on port 4000"); })
Dockerfile
FROM node:latest RUN mkdir -p /src/app WORKDIR /src/app COPY package.json . RUN npm install COPY . . CMD [ "npm", "start" ]
Docker Compose配置
version: "3" services: server_node: image: localhost:5000/server_node ports: - 5000:4000
Windows端端口转发命令(PowerShell执行)
ssh -L 5000:localhost:4000 user@localhost -N
内容的提问来源于stack exchange,提问作者Sodiki
相关产品推荐
相关产品推荐

