gpt4 book ai didi

docker - yarn 工作区和 docker

转载 作者:行者123 更新时间:2023-12-02 18:07:32 28 4
gpt4 key购买 nike

我正在尝试使用 yarn 工作区,然后将我的应用程序放入 Docker
图片。

文件夹结构如下所示:


  • Dockerfile
  • 节点模块/
  • libA --> ../libA
  • 库A/
  • ...
  • 应用程序/
  • ...

  • 不幸的是 Docker 不支持符号链接(symbolic link) - 因此无法将根目录中的 node_modules 文件夹复制到 Docker 镜像中,即使 Dockerfile 在我的情况下位于根目录中。

    我可以做的一件事是使用 .dockerignore 排除符号链接(symbolic link),然后将真实目录复制到图像中。

    另一个想法——我更喜欢——是有一个工具用符号链接(symbolic link)的实际内容替换符号链接(symbolic link)。不知道有没有这样的工具(最好是Javascript包)?

    谢谢

    最佳答案

    Yarn 用于依赖管理,应该配置为在 Docker 容器中运行以安装必要的依赖,而不是从本地机器复制它们。

    Docker 的主要好处是它允许你重新创建你的开发环境,而不用担心它正在运行的机器——同样的事情也适用于 Yarn,通过运行 yarn install它会为构建 Docker 镜像的机器的相关架构安装正确的版本。

    在您的 Dockerfile 配置工作目录后包括以下内容:

    RUN yarn install

    那么你应该全部排序!

    您应该做的另一件事是包含 节点模块 中的目录.gitignore .dockerignore 文件,因此在分发代码时永远不会包含它。

    TL;DR: 请勿复制 节点模块 来自本地计算机的目录,包括 RUN yarn install在 Dockerfile 中

    关于docker - yarn 工作区和 docker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50650191/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com