作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
查看 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/
我是一名优秀的程序员,十分优秀!