需要备份的数据可以分为三类
- 数据库文件
- volumes文件夹挂载
- volumes具名挂载
下面将针对三类数据具体描述备份方法
数据库文件
- 进入mysql容器中
docker exec it containerName /bin/bash
- containerName :mysql容器的名称
- 导出数据
mysgldump -u userName -p dbName > dbName.sql
- userName :数据库用户名
- dbName :数据库的名称
- dbName.sql:导出的数据库文件
- 回车,根据提示输入密码,即导出成功
- 从容器中复制文件到宿主机
docker cp containerName:/dbName.sql .
- containerName :mysql容器的名称
- :/dbName.sql:这部分指定了容器内部的文件路径
- .:末尾的点表示当前工作目录,即命令执行时所在的目录。这意味着你想将文件复制到宿主机器上当前工作目录的位置。
- 然后,可以使用工具直接拷贝宿主机的文件
volumes文件夹挂载
例如:
volumes:
- './folder:/folder'
宿主机的文件可以使用工具直接拷贝,例如:WinSCP、FileZilla等
volumes具名挂载
例如:
volumes:
- 'user_data:/user-data'
- 从容器中复制文件到宿主机
docker cp containerName : /user-data .
- 然后,可以使用工具直接拷贝宿主机的文件