【发布时间】:2021-11-19 07:33:05
【问题描述】:
我创建了一个 Dockerfile 映像,其简单的反应应用样板结果为 npx create-react-app my-app
FROM node
WORKDIR /app
COPY package.json /app
RUN npm install
COPY . /app
EXPOSE 4000
CMD "npm" "start
一切正常,创建图像,启动容器,没有错误但无法在本地主机上打开,有人知道可能是什么问题吗?
我已经使用docker run -p 4000:4000 -it react-repo 启动了容器。
【问题讨论】:
-
您能否提供完整的
docker run命令。我认为这可能是暴露端口的问题。 -
@usuario
docker run -p 4000:4000 -it react-repo -
您是否已将应用程序配置为侦听端口 4000?看起来默认端口是 3000。
-
您是否更改了
package.json以公开端口4000? -
EXPOSE指令和docker run -p 4000:4000只是告诉 docker 守护进程从容器向主机公开一个端口。它不能确保容器内的任何东西都在侦听该端口。为此,您必须将应用设置为侦听端口 4000。
标签: javascript python docker docker-compose docker-swarm