【问题标题】:Docker mapped port is not accessible outside [duplicate]Docker映射端口在外部无法访问[重复]
【发布时间】:2020-10-02 17:50:56
【问题描述】:

我在跑步:

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是(run npm build before docker image build)

FROM node:lts-alpine

WORKDIR /app/
COPY . /app/

EXPOSE 9001

ENTRYPOINT npm start

我使用的 docker 版本是19.03.8-ce。我该如何解决这个问题?

【问题讨论】:

    标签: docker dockerfile nuxt.js


    【解决方案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.
    

    Docker post-install documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-21
      • 1970-01-01
      • 2013-12-22
      • 2018-07-13
      • 2022-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多