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

 更新时间:2024年09月03日 11:46:05   作者:小小鱼儿小小林  
现在docker容器很方便,可以一键部署项目,但是方便部署的同时,也给运维带来了麻烦,docker中的pgsql数据,如何进行备份呢,本文小编给大家就介绍了备份Docker容器中的PostgreSQL数据的图文实操教程,需要的朋友可以参考下

一、前言

现在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数据的资料请关注脚本之家其它相关文章!

相关文章

  • Ubuntu 16.04中Docker的安装和代理配置教程

    Ubuntu 16.04中Docker的安装和代理配置教程

    这篇文章主要给大家介绍了在Ubuntu 16.04中Docker的安装和代理配置的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
    2017-05-05
  • Docker核心原理之 Cgroup详解

    Docker核心原理之 Cgroup详解

    cgroup的内核通过hook钩子来实现管理进程资源,提供了一个统一的接口,从单个进程的资源控制到操作系统层面的虚拟卡的过渡,今天通过本文给大家介绍Docker核心原理之 Cgroup详解,需要的朋友参考下吧
    2021-07-07
  • Docker Machine深入学习

    Docker Machine深入学习

    Docker与Docker Machine 的区别?又如当我们执行docker-machine create命令时,Docker Machine都做了些什么?这篇文章都会告诉大家,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • docker的常用命令详解

    docker的常用命令详解

    这篇文章主要列举了docker的常用命令,本文给大家介绍的非常详细,有需要的朋友可以参考阅读
    2023-04-04
  • docker挂载本地目录和数据卷容器操作

    docker挂载本地目录和数据卷容器操作

    这篇文章主要介绍了docker挂载本地目录和数据卷容器操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker写一个Dockerfile文件的实现

    docker写一个Dockerfile文件的实现

    Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明,本文主要介绍了docker写一个Dockerfile文件的实现
    2024-01-01
  • 详解如何获取docker容器(container)的ip地址

    详解如何获取docker容器(container)的ip地址

    这篇文章主要介绍了详解如何获取docker容器(container)的ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • pod调度将 Pod 指派给节点

    pod调度将 Pod 指派给节点

    这篇文章主要为大家介绍了pod调度将Pod指派给节点 示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 批量删除docker过期停止的容器的四种方法

    批量删除docker过期停止的容器的四种方法

    过期的容器也是占用一部分的内存空间,这时候如果对应一个个删除容器id,有些麻烦,有没有方法对应将其批量删除呢,本文给大家介绍了批量删除docker过期停止的容器的四种方法,需要的朋友可以参考下
    2024-02-02
  • docker部署gitlab以及修改初始密码方式

    docker部署gitlab以及修改初始密码方式

    这篇文章主要介绍了docker部署gitlab以及修改初始密码方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05

最新评论