我有一个带有redis服务器的docker容器,运行在ubuntu服务器上,它跟踪一个计数器,该计数器由一个节点js应用程序递增,也运行在一个容器中。
当我启动ubuntu主机时,它工作得很好,所有容器-- redis + nodeapp --都是自动启动的。
访问一个url,我可以用节点应用程序增加计数器。我看到redis服务器中的计数器递增,抛出一个redis客户端和网页。
我有个问题:
restart:always
构建容器以在主机重新启动时重新启动它们),redis服务器中的计数器将下降到0(未保存计数器)。那么,我的问题是,当主机重新启动时,如何保存数据(在redis容器中的计数器)?为什么在我的例子中,保存数据的唯一方法是使用docker命令停止容器?
发布于 2015-11-15 12:28:23
你看到http://redis.io/topics/persistence了吗?
默认情况下,Redis将数据集的快照保存在磁盘上,保存在名为dump.rdb的二进制文件中。如果数据集中至少有M个更改,您可以配置Redis让它每N秒保存一次数据集,或者手动调用save或BGSAVE命令。例如,如果至少更改了1000个键,此配置将使Redis每60秒自动将数据集转储到磁盘:
save 60 1000
https://stackoverflow.com/questions/33721318
复制相似问题