Deployment 使用Docker管理持久性文件(而不是数据库)

Deployment 使用Docker管理持久性文件(而不是数据库),deployment,docker,web-deployment,Deployment,Docker,Web Deployment,管理持久性文件(而不是数据库)的最佳策略是什么,例如配置文件、zip文件、图像等等 我尝试了以下方法: 创建文件夹/var/storage 将其作为-v/var/storage:/path/to/container/storage/ 但是,这并不符合预期(即仅创建主文件夹存储,并且未创建任何子文件夹和文件。此外,数据未同步。因此,如果我将文件添加到容器或主机,它不会显示在另一个容器中。我认为这是一个权限问题 我的另一种方法(我还没有这样做)是一个容器,类似于数据库,允许一个更可移植的结构 我

管理持久性文件(而不是数据库)的最佳策略是什么,例如配置文件、zip文件、图像等等

我尝试了以下方法:

  • 创建文件夹
    /var/storage
  • 将其作为
    -v/var/storage:/path/to/container/storage/
但是,这并不符合预期(即仅创建主文件夹
存储
,并且未创建任何子文件夹和文件。此外,数据未同步。因此,如果我将文件添加到容器或主机,它不会显示在另一个容器中。我认为这是一个权限问题

我的另一种方法(我还没有这样做)是一个容器,类似于数据库,允许一个更可移植的结构

我的问题是:实现这一点的最佳方式是什么?如果我使用容器方式,那么我的映像是什么?!似乎什么都没有,所以它将是一个完全空的映像。

像这样尝试:

$ sudo mkdir /var/storage
$ sudo docker run -ti -v /var/storage:/var/inside ubuntu
root@cdc215309a60:/# cat > /var/inside/foo
Hello
^d
root@cdc215309a60:/# exit
exit
$ cat /var/storage/foo
Hello

-v
中冒号后面的位是您希望在容器中装入目录的位置。

奇怪的是,数据没有同步。权限问题很可能会阻止您进行修改,但一旦修改,就应该同步。您确定要将文件添加到主机上的正确位置吗?是的,我想将文件存储在主机上的
/var/storage
上。在容器上,我不在乎它们装载到哪里,只要它们装载到哪里!!当我运行
docker run
命令时,有没有办法显示错误,这样我就可以看到发生了什么?也许它会喊出问题出在你运行的内容上。你可以尝试
dockr日志
。您是否碰巧在OSX上运行boot2docker?如果是这样,
/path/to/container/storage
必须位于您的主目录中,例如
/Users/kousha
。我的服务器在Linux Debian机器上