将docker化的redis迁移到另一台服务器
我对docker和redis都是新手。 我已经configurationserverA在docker中运行redis。 redis数据库已经预先播种了一千个键/值对。 我可以确认数据已经在这个容器中保存了。 然后,我从这个容器中创build了一个新的docker镜像,并将其上传到我的docker仓库。
在serverB上,我把redis映像“redis-preseeded”并启动了。 当我连接并发出'info keyspace'命令时,使用redis-cli工具,keyspace是空的,表明没有任何数据通过它。 我究竟做错了什么?
你在使用Redis的官方映像吗?
- https://hub.docker.com/_/redis/
- redis的Dockefile:3.2.0-alpine版本
它有一个声明:
.. VOLUME /data WORKDIR /data ..
卷在文档中描述。 简而言之,作者正在configurationRedis将数据存储在由docker引擎维护的外部磁盘卷上。 这不仅更高效,而且还允许用户使用它将数据保存到容器中。
实现这一点的图像快照将不包含数据(如果你认为这是一件好事)。
一旦理解了这些概念,数据如何在服务器之间移动就变得更加明显:
- 备份,还原和迁移数据卷