Docker撰写项目的备份工具
compose-dump的Python项目详细描述
概述:
=
:
这段代码只在少量用例中测试。
邀请您参与。
``compose dump``让我们备份并(尚未)还原`docker compose``br/>-项目。与"docker compose"类似,此工具通常在项目文件夹中运行。它是一个简单的工具,可以在更广泛的备份逻辑中使用。备份的范围可以由内容作用域和
服务控制。
e转储到一个目录中,作为磁盘上的存档或作为标准输出的存档。
请参阅下面计划的功能。
h`pip`::
$pip install compose dump
安装可编辑的开发实例::
$cd compose dump
$pipsi install-e。#或者使用"pip"
usage
----
示例
~~~~~~~~
将合成项目从"project\u path"完全转储到"var/backups/compose":
$cd project\u path
$compose dump backup-t/var/backups/compose
通过ssh的主机:
$cd project廑path
$compose dump backup-x gz ssh user@host"cat->;~/backup.tar.gz"
带有"docker compose.yml"到"var/backups/compose"的ECTS:
$find。-名称"docker compose.yml"-键入f-execdir compose dump backup-t/var/backup s/compose\;
命令行引用::
$compose dump
$compose dump backup--help
被忽略。在
中,这是不在项目路径中或
以下的已装入卷,以及来自引用容器的"volumes"中的卷。不要将此视为
一个限制,而应将其视为认可良好做法的功能;在更广泛的备份逻辑中处理这些
对象。
t;time>;这是默认值
-manifest.yml
+config
-<;config_files>;..通常是docker-compose.yml及其引用文件
-<;build_contexts>;..
+volumes
+mounted
<;相对于项目的主机路径路径>;…
+项目
<;tar存档中的项目卷>;…
+服务
+<;服务>;…
<;tar存档中的服务卷>;…
sts位于
https://github.com/funkyfuture/compose-dump。
测试
~~~~~~~
集成测试需要测试机器上的Docker客户端。要保留包含集成测试结果的临时目录,
请使用`--keep results``选项调用``pytest`。
r主要依赖于集成测试。但是,不要告诉自己,这个世界已经充满了仇恨。我建议任何有这种想法的人使用这种暗能量来实现改进。
style notes
~这是由通过对python 3.6及更高版本附带的"文件系统路径协议"的预期。这里的经验法则是:始终使用
:类:`pathlib.path`对象来表示路径,使用:func:`str`转换函数
调用的值,将结果转换为`path`实例。直到3.6的
统治期到来。
todo/已知问题/注意事项
——r/>如果Docker守护进程传递的卷存档大于可用内存,则可能会遇到问题。因此,您应该避免在
生产系统上出现这种情况。这不适用于已装入的卷。如果无法避免这种情况,请打开一个问题。
-测试扩展服务中定义的卷
-筛选卷
-仅暂停实际受影响的服务
-从项目文件夹中的文件备份配置
-可能:
-尊重.dockerginore
-.backup忽略
-从stdin读取配置
restore
~~~~~~~~~
-实现项目转储的自动恢复
-从stdin读取
……_` docker compose`:https://docs.docker.com/compose/
。_`文件系统路径协议`:https://www.python.org/dev/peps/pep-0519/
…_` pip`:https://packaging.python.org/installing/使用pip安装
。_` pipsi`:https://github.com/mitsuhiko/pipsi
=
:
这段代码只在少量用例中测试。
邀请您参与。
``compose dump``让我们备份并(尚未)还原`docker compose``br/>-项目。与"docker compose"类似,此工具通常在项目文件夹中运行。它是一个简单的工具,可以在更广泛的备份逻辑中使用。备份的范围可以由内容作用域和
服务控制。
e转储到一个目录中,作为磁盘上的存档或作为标准输出的存档。
请参阅下面计划的功能。
h`pip`::
$pip install compose dump
安装可编辑的开发实例::
$cd compose dump
$pipsi install-e。#或者使用"pip"
usage
----
示例
~~~~~~~~
将合成项目从"project\u path"完全转储到"var/backups/compose":
$cd project\u path
$compose dump backup-t/var/backups/compose
通过ssh的主机:
$cd project廑path
$compose dump backup-x gz ssh user@host"cat->;~/backup.tar.gz"
带有"docker compose.yml"到"var/backups/compose"的ECTS:
$find。-名称"docker compose.yml"-键入f-execdir compose dump backup-t/var/backup s/compose\;
命令行引用::
$compose dump
$compose dump backup--help
被忽略。在
中,这是不在项目路径中或
以下的已装入卷,以及来自引用容器的"volumes"中的卷。不要将此视为
一个限制,而应将其视为认可良好做法的功能;在更广泛的备份逻辑中处理这些
对象。
t;time>;这是默认值
-manifest.yml
+config
-<;config_files>;..通常是docker-compose.yml及其引用文件
-<;build_contexts>;..
+volumes
+mounted
<;相对于项目的主机路径路径>;…
+项目
<;tar存档中的项目卷>;…
+服务
+<;服务>;…
<;tar存档中的服务卷>;…
sts位于
https://github.com/funkyfuture/compose-dump。
测试
~~~~~~~
集成测试需要测试机器上的Docker客户端。要保留包含集成测试结果的临时目录,
请使用`--keep results``选项调用``pytest`。
r主要依赖于集成测试。但是,不要告诉自己,这个世界已经充满了仇恨。我建议任何有这种想法的人使用这种暗能量来实现改进。
style notes
~这是由通过对python 3.6及更高版本附带的"文件系统路径协议"的预期。这里的经验法则是:始终使用
:类:`pathlib.path`对象来表示路径,使用:func:`str`转换函数
调用的值,将结果转换为`path`实例。直到3.6的
统治期到来。
todo/已知问题/注意事项
——r/>如果Docker守护进程传递的卷存档大于可用内存,则可能会遇到问题。因此,您应该避免在
生产系统上出现这种情况。这不适用于已装入的卷。如果无法避免这种情况,请打开一个问题。
-测试扩展服务中定义的卷
-筛选卷
-仅暂停实际受影响的服务
-从项目文件夹中的文件备份配置
-可能:
-尊重.dockerginore
-.backup忽略
-从stdin读取配置
restore
~~~~~~~~~
-实现项目转储的自动恢复
-从stdin读取
……_` docker compose`:https://docs.docker.com/compose/
。_`文件系统路径协议`:https://www.python.org/dev/peps/pep-0519/
…_` pip`:https://packaging.python.org/installing/使用pip安装
。_` pipsi`:https://github.com/mitsuhiko/pipsi