我从这里按照官方的docker指南备份docker卷。我也知道这个SO问题,但是我仍然遇到错误。运行以下命令:
docker run --rm --volumes-from dbstore -v $(pwd):/backup ny_db_1 tar cvf /backup/backup.tar /dbdata
无论我输入什么图像名称、容器名称或容器id,都会出现以下错误:
Unable to find image 'ny_db_1:latest' locally
我要备份的卷:
$ docker volume ls
DRIVER VOLUME NAME
local ny_postgres_data
我的容器:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
39e71e660eda postgres:10.1-alpine "docker-entrypoint.s…" 4 days ago Up 23 minutes 0.0.0.0:5434->5433/tcp ny_db_1
如何备份我的卷?
更新:
我尝试了以下操作,但遇到了一个新错误:
$ docker run --rm --volumes-from 39e71e660eda -v $(pwd):/backup postgres:10.1-alpine tar:local cvf /backup/backup.tar /dbdata
/usr/local/bin/docker-entrypoint.sh: line 145: exec: tar:local: not found
试试这里的命令:
docker run -it --rm -v ny_postgres_data:/volume -v /tmp:/backup ny_db_1 \
tar -cjf /backup/ny_postgres_data -C /volume ./
docker run
语法是docker run[OPTIONS]IMAGE[: TAG|@DIGEST][COMMAND][ARG...]
-ny_db_1
是容器的名称,docker
将尝试使用不存在的IMAGE
"ny_db_1
",因此出现错误:"无法在本地找到图像'ny_db_1:最新的'"(如果没有指定,最新的
是默认的[: TAG]
)。
将指定容器中的卷挂载到从IMAGE[: TAG]生成的新容器中,例如:Docker run--rm--olus-from db-v$(pwd):/back ubuntu: 18.04 tar czvf /backup/backup.tar /dbdata
注意:如果您正在备份PostgreSQL数据库,那么恕我直言,您最好使用适当的工具来备份和恢复数据库,例如:
使用pg_dumpall
进行备份:
docker run --rm \
--name db-backup \
--entrypoint pg_dumpall \
--volume ${PWD}/backup:/backup \
--volumes-from db \
postgres:9 --host /var/run/postgresql --username postgres --clean --oids --file /backup/db.dump
使用psql进行恢复:
docker run --rm -it \
-v ${PWD}/backup:/restore \
--name restore \
postgres:10.1-alpine
docker exec restore psql \
--host /var/run/postgresql \
--username postgres \
--file /restore/db.dump postgres
docker rename restore NEW_NAME
我的组织需要对我们的定制程度很高的Jenkins实例进行备份。在研究了备份Jenkins的不同方法后,我们决定使用xcopy复制整个Jenkins目录,然后将备份移动到另一台机器上的新实例。(使用xcopy的原因是它是在每个作业中保留符号链接文件的唯一方法。) 以下是我采取的步骤: 批处理文件使用xcopy每晚从旧机器复制整个目录 我在新服务器上安装了一个新的Jenkins实例 我阻止Jenkin
我一直在使用这个Docker-image Tutum/Wordpress来演示一个Wordpress网站。最近,我发现该映像使用了mysql数据的卷。 所以问题是这样的:如果我想备份和恢复容器,我可以尝试提交一个映像,然后删除容器,并从提交的映像创建一个新的容器。但如果我这样做了,卷就会被删除,我的所有数据都没有了。 一定有一些简单的方法来备份我的容器加上它的卷数据,但我在任何地方都找不到。
本文向大家介绍oracle备份之备份测试脚本的方法(冷备、热备、rman),包括了oracle备份之备份测试脚本的方法(冷备、热备、rman)的使用技巧和注意事项,需要的朋友参考一下 1、数据库环境 数据库DBID及打开模式 数据文件: 控制文件: 联机日志: 2、数据库备份脚本 冷备份脚本 说明: 1、以上脚本在数据库关闭状态下备份数据库所有的数据文件,联机日志,控制文件,归档日志(在一个目录下
MySQL的备份-mysqldump命令的使用 备份数据库的参数 Myisam表常规备份(参数) InnoDB表常规备份(推荐使用的存储引擎) 普通方式备份数据库 多实例指定sock文件备份数据库test并使用gzip压缩 使用egrep查看备份的文件的sql内容 -B参数 备份多个库 备份库下的表 备份库下的某个表 备份库下的多个表 -d参数 备份表结构 -t参数 备份表数据 -F参数 刷新二进
常规属性 在此选项卡,你可以查看服务器和数据库的信息。如有需要,可为备份文件输入一个注释。 对象选择 在此选项卡,选择你想备份的数据库对象。 运行期间的全部<对象> (*) 所有的数据库对象将会备份,所有新添加的数据库对象也将会被备份而不必修改备份配置文件。 自定义 只备份已勾选的数据库对象。然而,如果在创建备份配置文件后,在数据库和/或模式中添加任何新的数据库对象,新建的数据库对象将不会被备份,
常规属性 在此选项卡,你可以查看服务器和数据库的信息。如有需要,可为备份文件输入一个注释。 对象选择 在此选项卡,选择你想备份的数据库对象。 运行期间的全部<对象> (*) 所有的数据库对象将会备份,所有新添加的数据库对象也将会被备份而不必修改备份配置文件。 自定义 只备份已勾选的数据库对象。然而,如果在创建备份配置文件后,在数据库和/或模式中添加任何新的数据库对象,新建的数据库对象将不会被备份,