docker容器,数据库备份导出postgreSQL到宿主机

1.容器状态:

docker ps或者docker ps -a查看状态,本人容器中布置了两个数据库

(base) [root@VM-16-5-centos ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
e4c8ff1c8d6e        mysql               "docker-entrypoint..."   2 weeks ago         Up 3 days           0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
e0cd764d915e        postgis/postgis     "docker-entrypoint..."   2 weeks ago         Up 3 days           0.0.0.0:5432->5432/tcp              postgis
(base) [root@VM-16-5-centos ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
e4c8ff1c8d6e        mysql               "docker-entrypoint..."   2 weeks ago         Up 3 days           0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
e0cd764d915e        postgis/postgis     "docker-entrypoint..."   2 weeks ago         Up 3 days           0.0.0.0:5432->5432/tcp              postgis

2.关于启停数据库,并再次查看状态验证

(base) [root@VM-16-5-centos ~]# docker stop mysql
mysql
(base) [root@VM-16-5-centos ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                    NAMES
e4c8ff1c8d6e        mysql               "docker-entrypoint..."   2 weeks ago         Exited (0) 7 seconds ago                            mysql
e0cd764d915e        postgis/postgis     "docker-entrypoint..."   2 weeks ago         Up 3 days                  0.0.0.0:5432->5432/tcp   postgis
(base) [root@VM-16-5-centos ~]# docker start mysql
mysql
(base) [root@VM-16-5-centos ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
e4c8ff1c8d6e        mysql               "docker-entrypoint..."   2 weeks ago         Up 5 seconds        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
e0cd764d915e        postgis/postgis     "docker-entrypoint..."   2 weeks ago         Up 3 days           0.0.0.0:5432->5432/tcp              postgis

3.进入容器,查看容器结构

dockers exec -it 

(base) [root@VM-16-5-centos ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
e4c8ff1c8d6e        mysql               "docker-entrypoint..."   2 weeks ago         Up 5 seconds        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
e0cd764d915e        postgis/postgis     "docker-entrypoint..."   2 weeks ago         Up 3 days           0.0.0.0:5432->5432/tcp              postgis
(base) [root@VM-16-5-centos ~]# docker exec -it mysql /bin/bash
root@e4c8ff1c8d6e:/# pwd
/
root@e4c8ff1c8d6e:/# ls
bin  boot  dev  docker-entrypoint-initdb.d  entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

容器内和系统结构是差不多的,在一定程度上可以理解为安装了一个新的虚拟机

4.容器中文件的备份

        4.1备份文件到容器中

        在该容器中使用cp命令即可

root@e0cd764d915e:/# cd /
root@e0cd764d915e:/# ls
bin   dev                         docker-entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp             usr
boot  docker-entrypoint-initdb.d  etc                   lib   media  opt  root  sbin  sys  trajectory.sql  var
root@e0cd764d915e:/# cp trajectory.sql /test.sql
root@e0cd764d915e:/# ls
bin   dev                         docker-entrypoint.sh  home  lib64  mnt  proc  run   srv  test.sql  trajectory.sql  var
boot  docker-entrypoint-initdb.d  etc                   lib   media  opt  root  sbin  sys  tmp       usr

        4.2备份文件到宿主机上

        需要在宿主机上输入命令

        需要先退出容器CTRL+D

(base) [root@VM-16-5-centos ~]# docker cp postgis:/trajectory.sql /root/testXXXXX.sql
(base) [root@VM-16-5-centos ~]# ls
Blog-master.zip               Clearn       Javalearn   PySpark-and-MLlib.zip    python_All  testXXXXX.sql
CentOS-7-x86_64-DVD-1810.iso  GQ_shanghai  miniconda3  PySparkStudy-master.zip  Sparklearn  trajectory20210924.sql

postgis:/trajectory.sql中postgis为容器名,通过docker ps -a可以查看NAMES,/trajectory.sql为容器中的目录加文件,注意是容器中

/root/testXXXXX.sql为备份的路径加文件名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值