我正在跑步:
sudo docker run -d -p 9001:9001 --rm --name <cname> <img>
然后我通过localhost:9001
进入浏览器,没有连接。
如果我跑步:
sudo docker run -d --network=host --rm --name <cname> <img>
我可以从浏览器通过localhost:9001
访问该应用程序。
运行第一个命令,我可以通过运行以下命令来验证它在docker内部是否正常运行:
sudo docker exec <cname> wget localhost:9001
返回预期的页面。
如果有用:运行的应用程序是标准的nuxt.js
,它侦听端口9001
,则用于生成映像的dockerfile是(在docker image build之前运行npm build)
FROM node:lts-alpine
WORKDIR /app/
COPY . /app/
EXPOSE 9001
ENTRYPOINT npm start
我正在使用的docker版本是19.03.8-ce
。我该如何解决?
答案 0 :(得分:1)
尝试不使用sudo运行docker。将docker与sudo一起使用不是一个好习惯,并且可能会引起很多麻烦。
要使用不带sudo的docker,您应按照官方文档中的说明将自己添加到“ docker”组。
要创建docker组并添加用户,请执行以下操作:
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.