当前位置: 代码网 > 服务器>服务器>云虚拟主机 > 备份Docker容器中的PostgreSQL数据的图文实操教程

备份Docker容器中的PostgreSQL数据的图文实操教程

2024年11月03日 云虚拟主机 我要评论
一、前言现在docker容器很方便,可以一键部署项目,但是方便部署的同时,也给运维带来了麻烦,docker中的pgsql数据,如何进行备份呢二、操作步骤1. 查看并确定目标容器使用docker ps命

一、前言

现在docker容器很方便,可以一键部署项目,但是方便部署的同时,也给运维带来了麻烦,docker中的pgsql数据,如何进行备份呢

二、操作步骤

1. 查看并确定目标容器

使用docker ps命令查看当前运行的容器列表,找到运行postgresql的容器id或名称。通常,postgresql容器可以通过其监听的端口(默认为5432)来识别

docker ps

在这里插入图片描述

如图,我的pgsql的镜像id是 28fe3d7203e5

2. 进入容器

使用docker exec命令进入postgresql容器。这里需要以root用户身份或使用具有足够权限的用户进入,以便执行备份命令

docker exec -u root -it 容器名或容器id /bin/bash

举例

docker exec -u root -it 28fe3d7203e5 /bin/bash

在这里插入图片描述

3. 执行备份命令

在容器内部,使用pg_dump命令来备份数据库

pg_dump -h localhost -p 5432 -u 用户名 -d 数据库名 > 备份文件名.sql

-h 指定数据库服务器的主机名,这里因为是docker容器内部,所以通常是localhost。

-p 指定数据库服务器的端口,postgresql默认端口是5432。

-u 指定连接数据库的用户名。

-d 指定要备份的数据库名。将备份结果重定向到文件。

举例

pg_dump -h localhost -p 5432 -u docmost -d docmost > /var/lib/postgresql/data/backup.sql

在这里插入图片描述

4. 退出容器并复制备份文件

完成备份后,使用exit命令退出容器。然后,使用docker cp命令将备份文件从容器内复制到宿主机上

exit
docker cp 容器名或容器id:/路径/backup.sql /宿主机/目标/路径/

举例

docker cp 28fe3d7203e5:/var/lib/postgresql/data/backup.sql /home/vdc/tools/docmost/docker/docmost/

注意,这里的冒号: 两边不要留空,如果留空的话就会报异常

“docker cp” requires exactly 2 arguments.
see ‘docker cp --help’.

usage: docker cp [options] container:src_path dest_path|-
docker cp [options] src_path|- container:dest_path

copy files/folders between a container and the local filesystem

在这里插入图片描述

正确的格式就会输出 successfully,如图

在这里插入图片描述

然后,你们可以xshell登录看一下当前目录或者打开 xftp工具看一下是否已经备份成sql文件了

在这里插入图片描述

以上就是备份docker容器中的postgresql数据的图文实操教程的详细内容,更多关于备份docker中postgresql数据的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com