运行 本地主机上的 docker 容器不工作

Running a docker container on localhost not working

我创建了一个 Dockerfile 图像,其中包含 npx create-react-app my-app

的简单 React 应用程序样板结果
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启动了容器。

以下 express.js 应用程序的示例 Docker 文件

const express = require('express');

const PORT = 8080;
const HOST = '0.0.0.0';

const app = express();
app.get('/', (req, res) => {
  res.send('Hello World');
});

app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);
FROM node:14

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 8080
CMD [ "node", "server.js" ]

到运行,

# docker run -p <host-port>:<container-port> imageName
docker run -p 8080:8080 imageName