Docker redis备份

时间:2018-03-22 09:35:23

标签: docker

我正在看这个例子

docker run --rm --volumes-from myredis -v $(pwd)/backup:/backup debian cp /data/dump.rdb /backup/

来自使用Docker书。

为什么我们需要--rm标志?

为什么我们有--volumes-from?

2 个答案:

答案 0 :(得分:2)

--rm标志告诉Docker Engine一旦退出就移除它。如果没有此标志,则需要在停止后手动删除容器。

--volumes-from标志从引用的容器中安装所有已定义的卷,它确保两个容器安装相同的卷。

答案 1 :(得分:2)

这里的想法是

  • 您有一个名为myredis的redis容器,其中有一些volumes用于持久存储(您要备份)。
  • 您运行的是一个临时debian容器,该容器会将备份保存到your_current_dir/backup并被删除。
  1. docker run --rm ... debian运行容器并在退出后将其删除
  2. --volumes-from myredis这样debian容器可以访问数据库
  3. -v $(pwd)/backup:/backup此第二个卷用于将备份放在当前目录$(pwd)/backup。如果没有使用,备份将仅复制到/backup(在容器内),然后与容器一起删除。这样备份就会持续存在。
  4. cp /data/dump.rdb /backup/复制实际文件