gpt4 book ai didi

ruby - Ruby 应用程序的 Dockerfile - 为什么将 WORKDIR 指定为/usr/src/app

转载 作者:数据小太阳 更新时间:2023-10-29 08:42:32 26 4
gpt4 key购买 nike

查看 official Ruby image Docker page - 该示例显示设置 WORKDIR/usr/src/app

有谁知道为什么这个特定的路径?

也就是说,将我的应用程序置于根目录是否可以,或者换句话说,不使用 WORKDIR?我知道它根据文档的建议,但我在不创建目录时遇到了一些问题。

只是想确保删除它没有问题。我以其他方式测试了我的图像,它按预期工作。

谢谢。

最佳答案

Linux 文档项目是关于 /usr/src 的。

/usr is shareable, read-only data.

Large software packages must not use a direct subdirectory under the /usr hierarchy

The 'linux' sub-directory holds the Linux kernel sources, header-files and documentation.

我不确定他们为什么使用该目录,它可能没有害处,但它也不一定是 Ruby/Rails 应用程序的最佳位置。同时,您放置它的位置并不完全重要,但您可能希望遵守一些规则:

  • 避免使用您的 ~(主)文件夹。如果您有默认安装到主目录的库,这可能会导致问题,然后您尝试挂载该目录并覆盖内容。另外,您最终可能会在其中得到您不想要的工件(.bash_profile、.config/等)
  • 避免使用实际的 /(root),这样您就不会冒险覆盖系统目录

创建 /app 目录是我见过的最常见的模式。你会在一些 CI/CD 工具中看到它们将你的数据放入 /app 文件夹中,所以这就是我尝试用于我的 Dockerfiles 的文件夹

关于ruby - Ruby 应用程序的 Dockerfile - 为什么将 WORKDIR 指定为/usr/src/app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54685942/

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