我正在重构和“dockerizing”一个由 shell 脚本、C++ 二进制文件和各种开源包(其中包括httpd)组成的遗留应用程序
有没有办法在 docker 容器中创建指向位于 docker 卷中的文件的硬链接?
我计划按如下方式构建容器:
services:
legacy-app:
image: my-legacy-app
volumes:
- http-files:/var/www/html/
httpd:
image: httpd:2.4
volumes:
- http-files:/usr/local/apache2/htdocs/
volumes:
http-files:
Run Code Online (Sandbox Code Playgroud)
遗留应用程序中的一些 init 脚本在/var/www/html/目录中创建指向文件系统中其他文件的硬链接。他们现在返回以下错误:
ln: creating hard link `/var/www/html/1/application' to `/home/conf/application': Invalid cross-device link
Run Code Online (Sandbox Code Playgroud)
我尝试使用符号链接并且它有效。但是,这里选择硬链接的原因是在删除所有指向该文件的链接后删除该文件。
有没有办法创建跨 docker 卷的硬链接?