Reactjs 如何使用Dockerfile.dev和Thread构建react应用程序

Reactjs 如何使用Dockerfile.dev和Thread构建react应用程序,reactjs,docker,Reactjs,Docker,我正在尝试使用docker运行react应用程序。以下是我的步骤: 我使用react native cli创建了一个react应用程序,并添加了Dockerfile.dev文件。My Dockerfile.dev文件包含以下代码: # Specify a base image FROM node:alpine WORKDIR '/app' # Install some depenendencies COPY package.json . RUN yarn install COPY . .

我正在尝试使用docker运行react应用程序。以下是我的步骤:

我使用
react native cli
创建了一个react应用程序,并添加了
Dockerfile.dev
文件。My Dockerfile.dev文件包含以下代码:

# Specify a base image
FROM node:alpine

WORKDIR '/app'

# Install some depenendencies
COPY package.json .
RUN yarn install
COPY . .

# Uses port which is used by the actual application
EXPOSE 3000

# Default command
CMD ["yarn", "run", "start"]
然后我执行这个命令并得到这个输出。但是它没有显示任何访问它的端口

docker build -f Dockerfile.dev .
OP:成功构建ad79cd63eba3

docker run ad79cd63eba3
作品:

有人能告诉我如何启动开发服务器,它向我显示了
H这样的端口吗ttp://localhost:3000
以访问它

docker build -f Dockerfile.dev .

完整代码:

Docker和react脚本的最新版本存在问题。 以下是关于它的Github线程:

针对您的案例的(临时且最快的)解决方案是降低package.json文件中react脚本的版本。 发件人:

致:

我用这个配置测试了你的项目,现在效果很好

从上面的Github线程来看,这似乎是另一个带有docker compose和
stdinu open:true
选项的解决方案(基本上与
docker run
命令的
-it
标志相对应)。如果react脚本版本对您来说很重要,您也可以尝试这样做(并且您希望保留它的最新版本)

#指定基础图像 来自节点:14.5.0作为构建deps #创建工作目录并复制应用程序,然后再将Thread install作为artifactory运行 #凭据可以在.npmrc中 WORKDIR/usr/src/app 复制/ #粗纱机 粗纱机 #建设项目 CMD[“纱线”、“运行”、“构建”] #为纱线包管理器安装serve命令 运行纱线全局添加服务 #导航到生成文件夹 WORKDIR/usr/src/app/build #启动应用程序
CMD serve-p 80-s.你需要将
EXPOSE 3000
或任何你的端口添加到docker文件吗?
docker run-p 3000:3000 yourImage
=>@RedBaron我也做了,但它保持不变,我的完整代码在这里@Zeitounator我明白你的意思。但是它不支持任何端口,所以如果我用docker映射端口,它将不起作用。不取消不管怎样,有些坏人总是准备投赞成票。关于你回答的第二部分,我使用的完整命令是
docker run-it-p LocalPort:DockerPort ImageId
,我仍在测试中,但我认为这个Dockerfile对我有用。
    "dependencies": {
     ...
    "react-scripts": "3.4.1"
    }
   "dependencies": {
     ...
    "react-scripts": "3.4.0"
    }
# Specify a base image FROM node:14.5.0 as build-deps # Create working directory and copy the app before running yarn install as the artifactory # credentials can be inside .npmrc WORKDIR /usr/src/app COPY . ./ # Run yarn install RUN yarn install # Build the project CMD ["yarn", "run", "build"] # Install serve command for yarn package manager RUN yarn global add serve # Navigate to build folder WORKDIR /usr/src/app/build # Start the application CMD serve -p 80 -s .