Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker会杀死FHS吗?_Docker_Fhs - Fatal编程技术网

Docker会杀死FHS吗?

Docker会杀死FHS吗?,docker,fhs,Docker,Fhs,我看到很多Docker映像忽略了文件系统层次结构标准(FHS)。大多数示例(一些官方)忽略了FHS。例如,有些人可能选择将二进制文件放在/app中,将数据放在/data中,在根目录中有一个入口点.sh,等等 FHS的目的是提高分布和应用的互操作性。Dockerfile的FHS合规性允许将Linux基本映像更改为其他版本或发行版。例如,解决分发包的错误修复可能需要这样的升级 编写不符合FHS的Dockerfiles似乎是常见的做法。这会使维护变得更复杂吗?我真的不相信这个问题适合这个网站——它非常

我看到很多Docker映像忽略了文件系统层次结构标准(FHS)。大多数示例(一些官方)忽略了FHS。例如,有些人可能选择将二进制文件放在
/app
中,将数据放在
/data
中,在根目录中有一个
入口点.sh
,等等

FHS的目的是提高分布和应用的互操作性。Dockerfile的FHS合规性允许将Linux基本映像更改为其他版本或发行版。例如,解决分发包的错误修复可能需要这样的升级


编写不符合FHS的Dockerfiles似乎是常见的做法。这会使维护变得更复杂吗?

我真的不相信这个问题适合这个网站——它非常广泛,答案可能是基于观点的,并且没有可证明正确的标准答案存在或可能存在。然而,在我看来,我可以说一点为什么这可能并不重要。容器实际上是用来为应用程序提供自己的私有名称空间的。在这个名称空间中,它所做的事情并不特别重要,因为那里应该只有专门支持某个应用程序的内容……现在,如果您正在为发行版构建软件包,那么遵循FHS仍然很重要,因为您的软件包需要很好地相互配合,为了更好地使用第三方软件包,不要让您的用户感到惊讶,等等。即使您的用户将使用您的OS发行版来构建容器,这也是正确的,因为他们将在该发行版中安装其他软件,任何/所有这些都可能会对什么构成合理的默认路径做出假设,但是,如果“你”不是发行版打包者,而是开发人员在构建一个容器,FHS只会给你一堆你可以依赖操作系统提供的不变量,这并不限制你作为应用程序开发人员应该做什么,因为您的用户不关心容器中的内容,他们只关心应用程序的文档化接口:它在端口Y上提供服务X,并为数据装载卷Z。二进制文件在容器中的位置是完全不相关的。如果Dockerfile以ubuntu中的
开头,那么构建容器的开发人员可能会遇到问题?