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