docker打包数据库镜像

1.查看容器信息

2.首先停止要打包的容器

不想停止打包可以创建一个快照镜像         new_image_name是新镜像的名称

docker commit -p CONTAINER_ID new_image_name

3.导出 MySQL 容器中的数据到本地: 这里我把数据保存到home目录下了

docker cp 导出的数据目录,后面在其他服务器容器运行需要写对,不然加载不到数据

docker cp mysql8.0:/var/lib/mysql /home/mysql_data

4.使用 docker commit 命令将包含数据的容器保存为新的镜像:其中 mysql_with_data 是新镜像的名称。

docker commit -p mysql8.0 mysql_with_data

5.使用 docker save 命令将新的镜像保存到文件中:

docker save -o mysql_with_data.tar mysql_with_data

现在你就可以将 mysql_with_data.tar 文件迁移到其他服务器(还有mysql_data的文件),并使用 docker load 命令加载该镜像,然后在其他服务器上运行 MySQL 容器。

查找tar文件在哪个目录下

find / -name "mysql_with_data.tar"

在目标服务器上加载镜像:

docker load -i mysql_with_data.tar

运行容器:

docker run --name=mysql8.0 -p 3306:3306 -v /home/mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=your_password -d mysql_with_data
  • --name=mysql8.0:指定容器的名称为 mysql8.0
  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
  • -v /home/mysql_data:/var/lib/mysql:将本地路径 /home/mysql_data 挂载到容器中的 /var/lib/mysql 目录,用于持久化存储 MySQL 数据。我的数据保存位置是home目录下,根据自己保存位置修改
  • -e MYSQL_ROOT_PASSWORD=your_password:设置 MySQL 根用户的密码为 your_password
  • -d:使容器在后台运行。

确保替换 /home/mysql_data 为本地用于持久化存储 MySQL 数据的路径,your_password 为你要设置的 MySQL 根用户密码。

这个命令将在 Docker 中运行一个带有持久化数据的 MySQL 容器,并映射到主机的 3306 端口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值