Reactjs 如何使用Dockerfile.dev和Thread构建react应用程序
我正在尝试使用docker运行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 . .
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 .