docker 构建mysql镜像_Docker创建mysql镜像与导入导出

本文介绍了如何使用Docker从头构建MySQL镜像,包括从Docker Hub下载镜像,创建并运行MySQL容器,设置环境变量,获取容器IP,连接数据库。同时,文章还详细讲解了如何在Docker环境中备份和恢复MySQL数据库,包括使用`mysqldump`进行数据导出和导入,以及在不同数据库间复制数据。
摘要由CSDN通过智能技术生成

docker是什么?席一笑:Docker入门实战​zhuanlan.zhihu.com9110192acffb79b227cbe15a1a0018b1.png

在docker里创建mysql镜像分为以下几个步骤

1.查找docker hub上的镜像

2.下载镜像到本地

[root@wls12c ~]$ docker pull mysql

默认下载的是docker官方维护的,也就是search到的第一个。

3.创建容器

[root@wls12c ~]$ docker run --name mysqldb -e MYSQL_ROOT_PASSWORD=root -d mysql

-e,指定环境变量。

4.获取mysql镜像的IP

[root@wls12c ~]$ docker inspect mysqldb|grep IPAddress

“IPAddress”: “172.17.0.4”,

“SecondaryIPAddresses”: null

5.连接mysql

[root@wls12c ~]$ mysql -h 172.17.0.4 -u root -p

密码为上面指定的root

6.将初始化好的mysql保存为镜像

[root@wls12c ~]$ docker commit mysqldb mysql:1.0

3ed4a367c21eb509f1c4e0a772c3e5bdff678497be55700ea256ef34ad87cfc6

[root@wls12c ~]$ docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

mysql 1.0 3ed4a367c21e 3 seconds ago 384.6 MB

mysql latest 826df4733292 37 hours ago 384.5 MB

centos latest d83a55af4e75 3 weeks ago 196.7 MB

cirros latest d8ca8144dee3 7 months ago 7.735 MB

7.服务器在使用了 Docker 后,对于备份和恢复数据库的事情做下记录:由于 docker 不是实体,所以要把mysql的数据库导出到物理机上,命令如下:

docker ps

8.执行导出(备份)数据库命令:

由第一步的结果可知,我们的 mysql 运行在一个叫 mysql_server 的 docker 容器中。而我们要备份的数据库就在里面,叫做 test_db。mysql 的用户名密码均为root,我们将文件备份到/opt/sql_bak文件夹下。

docker exec -it mysql_server mysqldump -uroot -proot test_db > /opt/sql_bak/test_db.sql

9.执行导入(恢复)数据库命令:创建一个空白的数据库: docker exec -it mysql_server mysql -uroot -proot create database test_db_copy;

导入数据: docker exec -i mysql_server mysql -uroot -proot test_db_copy < /opt/sql_bak/test_db.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值