当前位置: 首页 > 知识库问答 >
问题:

如何访问在docker容器中运行的react应用程序?

张献
2023-03-14

Dockerfile文件

FROM node:alpine
WORKDIR '/app'
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "run", "start"]

docker撰写。yml

version: "3"
services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3000:3000"
    volumes:
      - /app/node_modules
      - .:/app
    command: ["npm", "start"]

我发射的命令是为了让这个起来

docker-compose-fdocker-compose.yml

之后我去了https://localhost:3000这个项目没有加载。这是可复制的回购协议https://github.com/reyanshmishra/My-Portfolio-ReactJS

谢啦

共有2个答案

牧飞鹏
2023-03-14

从Web包开发服务器文档:

这两种方法都将启动服务器实例并开始侦听端口8080上本地主机的连接。

我想你可以修改docker-compose.yml:

ports:
      - "3000:8080"

然后你就可以使用http://localhost:3000.

或者

您可以修改Web包配置以使用端口3000而不是默认的8080:

devServer: {
    contentBase: path.join(__dirname, "src"),
    hot: true,
    inline: true,
    historyApiFallback: true,
    stats: {
      colors: true
    },
    port: 3000
},
文嘉禧
2023-03-14

您不能通过这样构建来运行react项目。您必须像这样将此行添加到Dockerfile中才能运行应用程序,

# Install `serve` to run the application.
RUN npm install -g serve

示例Dockerfile

FROM node:alpine
WORKDIR '/app'
COPY package.json .

# Copy all local files into the image.
COPY . .

RUN npm install
RUN npm audit fix

# Build for production.
RUN npm run build --production

# Install `serve` to run the application.
RUN npm install -g serve

# Set the command to start the node server.
CMD serve -s build

# Tell Docker about the port we'll run on.
EXPOSE 5000

您可以像这样运行图像(默认情况下,您的应用程序将运行端口5000。因此,您还必须更改docker-compose.yml文件):

**$ docker run -p 5000:5000 <image name>** 

>

  • 如果需要在不运行容器的情况下访问映像,

    如何访问docker映像?

    如果需要访问正在运行的容器

    $docker执行官-ti bash

  •  类似资料:
    • 问题内容: 我有以下用于docker文件的文件… 和弹簧配置… 一切似乎都开始文件,我明白了 我看到… 但是当我运行并在这样的浏览器中输入该地址时,出现超时错误。我知道我可以在运行时使用端口映射,但是有没有一种方法可以映射到我的本地主机呢? 我也尝试过这个… 因此它不是浏览器。 还试图像这样映射它… 0.0.0.0:8080->8080/tcp、9090/tcp 但是localhost:8080(

    • 问题内容: 我已经创建了一个Docker映像来测试Angular应用程序,但是无法从主机连接到Docker容器中正在运行的应用程序。 该映像是使用具有以下内容的Dockerfile创建的:EXPOSE 4200 8080 80 我使用以下命令运行docker容器:docker run -ti -p 4200:4200 angulardev / bin / bash 在容器内,我创建Angular应

    • 我按照 https://mherman.org/blog/dockerizing-a-react-app/ 下的步骤操作 我的设置: < li>Windows 10主页 < li>docker命令在docker快速启动终端https://docs . Docker . com/toolbox/toolbox _ install _ windows/中运行 如何重现:按照第一个链接中的步骤操作: 全

    • 我已经创建了一个docker映像来测试Angular应用程序,但是我无法在docker容器内从主机连接到正在运行的应用程序。 该图像是使用带有:EXPOSE 4200 8080 80的Dockerfile创建的 我使用命令运行docker容器:docker run-ti-p 4200:4200angulardev/bin/bash 在容器内部,我创建了Angular应用程序,并使用:ng serv

    • 我正在测试一些与比特币相关的代码,为了测试它,我在docker容器中安装了比特币测试网盒。 我使用这个指南:https://registry.hub.docker.com/u/freewil/bitcoin-testnet-box/ 我没有任何问题地拉和运行码头工人。 但是,我无法编辑其目录中的bitcoin.conf文件,因为我没有安装像NANO这样的编辑器。 我想: 但它不起作用。我该怎么解决

    • 我有一个react-app,它简单地显示hello-world消息,但我喜欢运行应用程序通过docker-container,但有这个问题。在此消息之后,进程停止,没有运行应用程序。 我不能理解我应该做什么,因为我有一个很小的应用程序,在Dockerfile中有基本代码 我需要安装webpack-dev-server吗,我尝试了,但得到了版本错误,如“手动添加服务器”的版本比已经安装的服务器低。所