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
如何使用持久数据运行Prestashop docker容器?_Docker_Prestashop_Volume - Fatal编程技术网

如何使用持久数据运行Prestashop docker容器?

如何使用持久数据运行Prestashop docker容器?,docker,prestashop,volume,Docker,Prestashop,Volume,在许多docker示例中,我缺少的是持久性数据。如果我得出每个被停止的容器都会丢失其数据的结论,这对吗 我用它的内部数据库运行了这个Prestashop映像: 您只需运行docker run-ti——命名一些prestashop-p8080:80-d prestashop/prestashop 好吧,那你有你的演示,但不是很实用。 首先,我需要挂接一个外部MySQL容器,但如果我的服务器重新启动,该容器也会丢失所有数据 那么将要添加到prestashop容器中的所有模块和主题呢 这与卷有关,但

在许多docker示例中,我缺少的是持久性数据。如果我得出每个被停止的容器都会丢失其数据的结论,这对吗

我用它的内部数据库运行了这个Prestashop映像:

您只需运行
docker run-ti——命名一些prestashop-p8080:80-d prestashop/prestashop

好吧,那你有你的演示,但不是很实用。 首先,我需要挂接一个外部MySQL容器,但如果我的服务器重新启动,该容器也会丢失所有数据

那么将要添加到prestashop容器中的所有模块和主题呢


这与卷有关,但我不清楚如何正确映射所有主机卷,以及通常选择到主机的路径/选择/预售什么

首先,我对PrestaShop没有任何经验。这是一个可以用于每个docker容器(您希望从中持久化数据)的示例。 有了新版本的docker(1.11),很容易“持久化”数据。 首先创建命名卷:

docker volume create --name prestashop-volume
您将在
/var/lib/docker/volumes
中看到此卷: 预洗体积

创建命名卷容器后,可以将容器与卷容器连接:

docker run -ti --name some-prestashop -p 8080:80 -d -v prestashop-volume:/path/to/what/you/want/to/persist :prestashop/prestashop
(当您确实想要持久化所有内容时,我认为您可以使用路径
:/

现在,您可以在数据库上执行您想要的操作。 当容器关闭或删除容器时,命名卷仍将存在,并且您可以将容器与命名卷重新连接

为了使它更简单,您可以创建一个cron作业,它创建
/var/lib/docker/volumes/prestashop volume/

当所有内容都消失后,您可以通过重新创建命名卷并卸载其中的.tar文件来恢复卷。

非常感谢,这很简单:)prestashop dockerfile中的卷是暴露于外部世界的位置?我认为这些卷xxx是您容器中的装入点。希望这能帮助你。章节:卷: