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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java有可能让Glassfish JAAS领域与一个已安装的应用程序共享一些类吗?   卸载weblogic时发生java log4j错误   java如何读取信息并将这些信息放入对象数组中   java线程池执行器。创建新线程时执行(Runnable命令)   java无法将project facet动态Web模块的版本更改为2.5   未添加到ArrayList Java Android的元素   javajavax。xml。绑定UnmarshaleException:意外元素(uri:,local:“ProcessCreditApplication”)。预期的元素是   java如何通过youtube API获取已删除视频的列表   如何在JavaBean验证中停止级联   java为什么我的ListView使我的应用程序崩溃,而不是列出我的条目?   java Guice多数据库自动切换   java(JDA)Mute命令在代码的第四行中断   推荐一种可通过Java中的随机访问进行更新的索引文件格式   java将arrayList添加到2x2 arrayList   java json对象数据发生变化,有时没有值   java使用Jedis库在redis中一次存储字符串列表   java快速排序分区   java setDaemon(false)是冗余的吗?   Java中的itext格式pdf