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.