Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.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/0/docker/9.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
Linux 在哪里把东西放在docker集装箱里?_Linux_Docker - Fatal编程技术网

Linux 在哪里把东西放在docker集装箱里?

Linux 在哪里把东西放在docker集装箱里?,linux,docker,Linux,Docker,我已经使用dockerized应用程序有一段时间了,但我仍然无法确定是否有一种适当的方法来构造容器中的代码 几个不同的包使用几种方法: Postgres遵循更传统的方式,将数据存储在/var/lib/postgresql/data Redis不太关心unix目录结构,而是将持久性数据放入/data文件夹,但在配置方面,它遵循以下原则:/usr/local/etc/Redis/Redis.conf Node鼓励将应用程序数据放入/usr/src/app中,当使用Dock compose时,他们提

我已经使用dockerized应用程序有一段时间了,但我仍然无法确定是否有一种适当的方法来构造容器中的代码

几个不同的包使用几种方法:

  • Postgres遵循更传统的方式,将数据存储在
    /var/lib/postgresql/data
  • Redis不太关心unix目录结构,而是将持久性数据放入
    /data
    文件夹,但在配置方面,它遵循以下原则:
    /usr/local/etc/Redis/Redis.conf
  • Node鼓励将应用程序数据放入
    /usr/src/app
    中,当使用Dock compose时,他们提到
    /home/Node/app
    什么
  • PHP为CLI应用程序和web应用程序做了类似的事情,它们与通常的
    /var/www/html
对于入口点脚本,问题类似于将其放入
/
中,其他人则将其放入
/usr/local/bin

我希望你能理解我的困惑


容器应该运行它们所代表的单个主进程,当这个进程停止时,它们就会死亡。像成熟的linux系统一样威胁它,并坚持推荐的结构化方式,这合理吗?如果是这样,我应该用
/bin
/usr/bin
/usr/local/bin
来编写shell脚本,还是用
/var/lib/app
/lib/app
来编写应用程序代码?或者真相在和
/entrypoint.sh
脚本之间吗?

在我的评论之前,我不是专家,但我已经使用Docker好几年了。我一直只是使用我正在使用的映像的指导原则,根据操作系统的风格可能会有所不同。我不知道Docker自己制定了什么样的通用指南,我通常也是这么做的。但我发现自己经常创建新的docker图像和Dockerzing(这是一个词吗?)许多应用程序,而且几乎每次我都会犹豫在哪里放置entrypoint脚本,在哪里放置应用程序代码等等。我经常需要回顾我在上一个项目中是如何做到这一点的,因为在我的脑海中没有既定的习惯或准则。在我的评论之前,我不是专家,但我已经使用Docker好几年了。我一直只是使用我正在使用的映像的指导原则,根据操作系统的风格可能会有所不同。我不知道Docker自己制定了什么样的通用指南,我通常也是这么做的。但我发现自己经常创建新的docker图像和Dockerzing(这是一个词吗?)许多应用程序,而且几乎每次我都会犹豫在哪里放置entrypoint脚本,在哪里放置应用程序代码等等。我经常需要回顾我在上一个项目中是如何做到这一点的,因为在我的脑海中没有既定的习惯或指导方针。