【问题标题】:Docker listening on port 3000, but nothing showing on browserDocker 监听端口 3000,但浏览器上没有显示
【发布时间】:2021-08-23 15:29:26
【问题描述】:

我正在 Docker 中构建一个 Node 应用程序。这是我的 Dockerfile:

FROM docker.artifacts.smit.sise/node:12.19.1

COPY . .

RUN mkdir certs \
    && cd /certs \
    && wget https://artifacts.smit.sise/artifactory/smit-certs-public/smit_ca.pem --no-check-certificate \
    && npm config set cafile /certs/smit_ca.pem \
    && npm config set registry https://artifacts.smit.sise/api/npm/npm


RUN mkdir /common_front/build/static \
    && ln -sf /front/build/assets/* /valisveeb_common_front/build/assets   \
    && ln -sf /front/build/static/* /valisveeb_common_front/build/static  \
    && ln -sf /front/build/generate.options.js/ \
    && ln -sf /front/build/settings.json /valisveeb_common_front/build/settings.json



#RUN cp -f envexample build/.env 
WORKDIR /front/build

RUN ls -la \
    && npm install 

RUN npm run dev

EXPOSE 3000

在本地使用这些确切的命令可以正常工作,但是在执行 Dockerfile 时,浏览器上什么也没有显示,尽管应用程序说“正在侦听端口 3000”。

这是我看到的:

https://i.stack.imgur.com/TwCqB.png

编辑: 这就是我运行它的方式:

docker build . && docker run -d --restart=always -p 3000:3000 . -it --ignore-certificate-errors

【问题讨论】:

  • when executing the Dockerfile, nothing appears on browser。看来这里有点误会了。你“执行”一个 Dockerfile 来构建一个 docker 镜像。构建此映像后,您可以使用该映像运行一个或多个容器。这些容器使用默认命令或您在运行时传递的任何命令运行。考虑到这一点,我怀疑 Dockerfile 的倒数第二行应该是 CMD npm run dev(在容器启动时启动服务,而不是在构建期间启动)。您还应该告诉我们您用来启动容器的命令是什么。
  • localhost = 127.0.0.1。你应该在CMD Windows 中运行ipconfig 并找到你的IP(通常是192.168 IP),然后像192.168.43.56:3000 一样运行
  • @Saeed 如果容器和浏览器位于同一主机上,则 localhost 可以正常使用端口转发
  • @Zeitounator 这是我用 docker build 运行的。 && docker run -d --restart=always -p 3000:3000 。 -it --ignore-certificate-errors
  • 您在docker build 命令期间运行服务,因此映像构建永远不会结束。 docker run 甚至没有到达。

标签: node.js docker dockerfile


【解决方案1】:

这条指令:

RUN npm run dev

在镜像构建期间运行该服务,因此甚至永远不会构建镜像,并且当您尝试连接到它时不会运行任何容器。应该是:

ENTRYPOINT ["npm", "run", "dev"]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-04
    • 2018-11-05
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多