Docker映射端口在外部不可访问

Docker映射端口在外部不可访问,docker,dockerfile,nuxt.js,Docker,Dockerfile,Nuxt.js,我在跑步: sudo docker run-d-p 9001:9001--rm--name 然后我在localhost:9001进入浏览器,没有连接 如果我跑步: sudo docker run-d--network=host--rm--name 我可以从浏览器访问位于localhost:9001的应用程序 运行第一个命令,我可以通过运行以下命令验证它在docker内部是否正常运行: sudo docker exec wget localhost:9001,按预期返回页面 如果有用:运行的应用程

我在跑步:

sudo docker run-d-p 9001:9001--rm--name

然后我在
localhost:9001进入浏览器,没有连接

如果我跑步:

sudo docker run-d--network=host--rm--name

我可以从浏览器访问位于
localhost:9001
的应用程序

运行第一个命令,我可以通过运行以下命令验证它在docker内部是否正常运行:

sudo docker exec wget localhost:9001
,按预期返回页面

如果有用:运行的应用程序是在端口
9001
上侦听的标准
nuxt.js
,则用于生成映像的dockerfile是(在docker映像生成之前运行npm生成)


我使用的docker版本是
19.03.8-ce
。如何修复此问题?

尝试在没有sudo的情况下运行docker。将docker与sudo一起使用不是一个好的做法,可能会造成很多麻烦

要使用docker而不使用sudo,您应该将自己添加到“docker”组,如官方文档中所述

要创建docker组并添加用户,请执行以下操作:

FROM node:lts-alpine

WORKDIR /app/
COPY . /app/

EXPOSE 9001

ENTRYPOINT npm start
Create the docker group.

$ sudo groupadd docker

Add your user to the docker group.

$ sudo usermod -aG docker $USER

Log out and log back in so that your group membership is re-evaluated.