service docker start - docker 启动

service docker stop - docker 关闭

1.docker 镜像创建—使用的默认镜像有数据卷

docker pull hub.c.163.com/library/mysql:5.7.18 – 获取镜像

docker images  - 查看镜像(镜像id)

docker tag mysql:latest tmysql:5.7 – 添加镜像标签

docker rmi –f images_id – 删除镜像 (-f 强制删除镜像)

2.docker 容器的创建

docker run --name tmysql -v /home/dly:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306  -d images_id – 创建并启动容器,同时有挂载配置文件,注意/home/dly权限。

docker run --name ttpostgres -p 5433:5432 -e POSTGRES_PASSWORD=123456 -v /home/dly:/var/lib/postgresql -d postgres:9.6 -- postgresql 容器创建与启动

docker start container – 启动容器

docker stop container – 关闭容器

docker ps –a  - 查看容器

docker exec- it container_id  /bin/bash – 进入容器

docker inspect tmysql – 查看容器的元数据

3.通过已有的容器创建镜像 存出和载入

docker ps – 查看备份容器的container_id

docker commit -p container_id container-backup - 使用 docker commit 命令来创建快照,生成一个作为Docker镜像的容器快照,

docker images – 查看是否生成镜像

-- # docker tag a25ddfec4d2a arunpyasi/container-backup:test

docker save -o ~/container-backup.tar container-backup - 作为tar包备份。

ls – 查看tar包是否存在。

scp  –r  ~/ container-backup.tar root@10.2.0.3:/home/dly - 服务器迁移

docker load -i ~/container-backup.tar- 加载该Docker镜像了。

docker images -查看是否镜像下载

docker run -d -p 3306:3306 –-name tmysql  container-backup  - 运行Docker容器。

docker exec –it contain_id /bin/bash –进入容器

4. 通过已有的数据卷容器的存出和载入,以下方法可以实现数据库文件从一个服务器点迁移到另一个服务器

备份

docker run –it –v /var/lib/mysql –name tmysql image_id  - 创建一个带有数据卷的容器.

## 导入数据

docker run --volumes-from container_name -v $(pwd):/backup images_id tar cvf /backup/backup.tar /var/lib/mysql

docker run --volumes-from container_name -v $(pwd):/backup images_id tar cvf /backup/backup.tar /var/lib/postgresql/data

--利用数据卷容器备份,使用 –volumes-from 标记来创建一个加载 data 容器卷的容器,并从主机挂载当前目录到容器的 /backup 目录。容器启动后,在当前目录下生成的backup.tar 文件就是data容器卷的备份文件.

恢复

docker run --name tmysql -p 3306:3306 -v /home/dly:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456  -d image_id  -创建一个带有空数据卷的容器 这个镜像自动带有数据卷,i是打开容器中的stdin,t是为容器分配一个伪终端.这里的d是后台运行,并打印容器ID容器,容器运行 。

docker run --volumes-from contain_name  -v $(pwd):/backup image_id tar xvf /backup/backup.tar

重启docker

此时打开数据库,数据库文件已经存在

二.postgresql

源文件服务器-- 因为docker 没有安装必要的ssh 和vim 需要单独安装

apt-get update

apt-get install ssh – 安装ssh

#apt-get install vim-gtk – 安装vim

su – postgress

pg_dumpall | ssh root@10.0.0.96 'cat > /var/pgbackup/db.out' – 目录存在 -- 导出数据文件db.out

目标文件服务器-- /var/lib/postgresql/data

docker run --name ttpostgres2 -p 5410:5432 -e POSTGRES_PASSWORD=123456 -v /var:/var/lib/postgresql/data -d postgres:9.6 -  启动容器挂载

docker exec –it ttpostgres2 /bin/bash –进入容器

su – postgres – 切换超级用户

cd /var/lib/postgresql - 进入目标路径

psql -f db.out postgres -- 导入数据文件db.out

尝试过数据卷的方法导入postgresql 数据文件,但是没有成功,只有使用pg_dumpall插件了。
---------------------
作者:D2012LY
来源:CSDN
原文:https://blog.csdn.net/D2012LY/article/details/77851414
版权声明:本文为博主原创文章,转载请附上博文链接!

docker 下mysql 和postgresql 数据库的搭建以及数据文件的迁移和备份的更多相关文章

  1. ubuntu 下 mysql数据库的搭建 及 数据迁移

    1.mysql的安装 我是使用apt-get直接安装的 :sudo apt-get install mysql-server sudo apt-get install mysql-client 2.配 ...

  2. 关于PDF.NET开发框架对Mysql Sqlite PostgreSQL数据库分页支持的个人看法

    关于PDF.NET开发框架的名字由来  在设计www.pwmis.com站点的时候,考虑到架构的兼容性和将来升级的可能性,最重要的是没有足够的时间去为网站添加和维护很多复杂的程序,所以在借鉴前人成功经 ...

  3. Linux下MySQL/MariaDB Galera集群搭建过程【转】

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  4. 对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析

    对Oracle .SQL Server.MySQL.PostgreSQL数据库优缺点分析 Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracl ...

  5. Docker下mysql容器开启binlog日志(保留7天)

    现有需求开启用Docker容器启动的mysql数据库的binlog,以作为 日志记录 和 数据恢复,我们了解了MySQL的binlog日志的开启方式以及binlog日志的一些原理和常用操作,我们知道, ...

  6. postgreSQL数据库的监控及数据维护

    目前postgreSQL数据库的管理,数据查询等都需要安装postgreSQL软件或安装pgadmin等,远程访问都需要先登录到服务器等繁琐的操作.如果是开发团队,那么每个开发,测试,管理人员都要经历 ...

  7. MySQL 查询某个数据库中所有包含数据记录的表名

    MySQL 查询某个数据库中所有包含数据记录的表名 有时根据实际应用需要,需要对数据进行备份. 如果一个数据库中有很多数据表,但是只想备份包含数据记录的那些表数据(空表不做数据备份). 如果通过如下S ...

  8. Oracle数据库表空间与数据文件的关系描述正确的是( )

    Oracle数据库表空间与数据文件的关系描述正确的是( ) A.一个表空间只能对应一个数据文件 B.一个表空间可以对应多个数据文件 C.一个数据文件可以对应多个表空间 D.表空间与数据文件没任何对应关 ...

  9. docker下MySQL的主从复制

    MySql的主从复制 sudo docker pull MySQL:5.7 拉取MySQL的镜像文件(版本号为 5.7) sudo docker run -p 3339:3306 --name mas ...

随机推荐

  1. 【DP入门到入土】

    DP例题较多,可以根据自己需求食用~ update:下翻有状压DP入门讲解,也只有讲解了(逃~ DP的实质,就是状态的枚举. 一般用DP解决的问题,都是求计数或最优问题,所以这类问题,我们也可以用搜索 ...

  2. 2019/10/22 test T1 题解

    题目描述 给定n个a[i],b[i],求min(x$\in$R){$\sum\limits_{i=1}^{n}$|a[i]*x+b[i]|} 输入格式 第 1行 1个整数 n第 2行 n个整数,第 i ...

  3. DVWA-文件包含漏洞

    本周学习内容: 1.学习web安全深度剖析: 2.学习安全视频: 3.学习乌云漏洞: 4.学习W3School中PHP: 实验内容: 进行DVWA文件包含实验 实验步骤: Low 1.打开DVWA,进 ...

  4. loj #6485. LJJ 学二项式定理 单位根反演

    新学的黑科技,感觉好nb ~ #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s". ...

  5. 关灯问题II 状压DP

    关灯问题II 状压DP \(n\)个灯,\(m\)个按钮,每个按钮都会对每个灯有不同影响,问最少多少次使灯熄完. \(n\le 10,m\le 100\) 状压DP的好题,体现了状压的基本套路与二进制 ...

  6. A. Vasya and Book ( Codeforces Educational Codeforces Round 55 )

    题意:当前在看书的第 x 页,每次可以向前或者向后翻 d 页,这个书一共 n 页,问能否用最小操作翻到第 y 页. 题解:三种情况:1.直接翻能到的一定最短. 2.先翻到第一页,然后往后翻,翻到第 y ...

  7. 让img图片像背景一样显示

    如何让图片像背景一样显示呢? 这里需要用到object-fit属性 MDN地址:https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit ...

  8. c++ curl 登陆renren.com (cookie的使用)<转>

    size_t write_callback( void *ptr, size_t size, size_t nmemb, void *stream ) { int len = size * nmemb ...

  9. HTTPWebrequest上传文件--Upload files with HTTPWebrequest (multipart/form-data)

    使用HTTPWebrequest上传文件遇到问题,可以参考Upload files with HTTPWebrequest (multipart/form-data)来解决 https://stack ...

  10. Java 泛型高级

    1.限制泛型可用类型 在定义泛型类别时,预设可以使用任何的类型来实例化泛型中的类型,但是如果想要限制使用泛型的类别时,只能用某个特定类型或者其子类型才能实例化该类型时,使用extends关键字指定这个 ...