docker - 如何使用 react-scripts 3.4 和 babel-loader 8.1 使 yarn 在 Docker 镜像中开始工作?

标签 docker webpack yarnpkg babel-loader react-scripts

我正在构建一个 Docker 镜像,用于使用单独的 Dockerfile 调试我的 React 应用程序

FROM node:11-alpine

COPY package.json .
COPY yarn.lock .
RUN yarn install

COPY public/ ./public/
COPY src/ ./src/

EXPOSE 3000
CMD yarn run start

package.json
{
  "name": "yarn-start-in-kubernetes",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.8.1",
    "react-dom": "^16.8.1",
    "react-scripts": "2.1.3",
    "babel-loader": "8.0.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}

当图像与 docker run 一起使用时,它会按预期启动开发服务器.升级到
    "react-scripts": "2.1.3",
    "babel-loader": "8.0.4"

导致设置不再可用,因为开发服务器终止:
> docker run dev
yarn run v1.15.2
$ react-scripts start
ℹ 「wds」: Project is running at http://172.17.0.2/
ℹ 「wds」: webpack output is served from 
ℹ 「wds」: Content not from webpack is served from /public
ℹ 「wds」: 404s will fallback to /
Starting the development server...

Done in 2.72s.
docker run返回后 Done in ... .

我想使用在生产中运行良好的最新版本。如何让它们在调试图像中工作?

这些版本似乎不会影响 Docker 之外的开发服务器的功能,即 yarn start适用于两种版本组合。

最佳答案

我遇到了同样的问题,只是补充说:stdin_open: true到我的 docker-compose.yml

关于docker - 如何使用 react-scripts 3.4 和 babel-loader 8.1 使 yarn 在 Docker 镜像中开始工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61857267/

相关文章:

golang项目在docker容器内运行时找不到依赖项

bash - 如何在 Docker Compose 中设置 uid 和 gid?

Windows上的docker工具箱挂载文件

javascript - 无法仅通过复制 Node 模块来运行应用程序

javascript - 带有 TypeScript 的 npm 模块

bash - Docker容器中的Stackdriver Agent

css - 在 React 中使用 webpack 和 url-loader 加载内嵌图片

npm - 将 args 传递给 lerna exec 命令

npm - 如何修改Yarn的配置?

vscode-extensions - vsce 发布失败 - 使用 pnpm/yarn 的 VS Code 扩展