将带数据的mysql容器打包成镜像

先下载docker及启动mysql容器,在使用一段时间后想将当前mysql连容器带数据一块备份了,就不用来回导数据了,也能防止版本不一样导致同步数据出错,

docker exec -it <container_id> bash 命令进入容器 

创建mysql源数据备份目录   mkdir /mysqldata/

复制mysql源数据到备份目录  cp -r /var/lib/mysql/ /mysqldata/

修改mysql.cnf  :

# mysql镜像版本不同,目录和文件名可能也不同 下面是mysql:8.0.17,最新版的在etc下

vim /etc/mysql/my.cnf

注意!最新版本的mysql容器可能用不了vi  vim,此时可以直接将需要修改的文件拷贝到宿主机上去修改,然后再传回来。

# 从容器中复制文件到宿主机
docker cp <container_id>:/path/to/file /path/on/host

# 在宿主机上使用编辑工具修改文件
vi /path/on/host/file

# 将修改后的文件复制回容器
docker cp /path/on/host/file <container_id>:/path/to/file

修改完成后退出容器: exit

# 重启容器

docker restart 容器id

讲当前容器打包成镜像:  docker commit -a "zxa" -m "init data" 容器id 镜像名称:镜像标签

或者简单点  docker commit  容器id 镜像名称:镜像标签

保存镜像为Jar

docker save -o 保存名称.tar 镜像名称:镜像标签

此时当前镜像就包含了数据

最后将镜像加载(换个机器)

docker load -i 保存名称.tar

启动:docker run -d --name mysql-v1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 镜像名称:镜像标签

连接一下  就可以看到新镜像是包含mysql数据的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值