尝试通过 PowerShell 从 Docker 备份卷 - .tar 文件无处可见

Trying to back up a volume from Docker via PowerShell - .tar file is nowhere to be seen

我已经对 test/learn Docker 进行了基本的 wordpress 设置,我正在 teating/learning 通过备份容器将其迁移到实时服务器,和卷。

我可以使用 save/load 命令备份 'containers' 没问题,但似乎无法备份卷。

我已经 运行 在我的容器上执行了 docker 文档中所建议的命令:https://docs.docker.com/storage/volumes/。命令为:

docker run --rm --volumes-from wordpress_db_1 -v c:\:/backup ubuntu tar cvf backup.tar /var/lib/mysql

我也试过了

docker run --rm --volumes-from wordpress_db_1 -v /mnt/c/users/me/desktop:/backup ubuntu tar cvf backup.tar /var/lib/mysql

两个命令 运行 都没有错误,但是我无法在任何地方找到 .tar 输出 - 它保存在哪里?还是我做错了什么?

您的 tar 文件已在容器的工作目录中创建。当容器停止时,容器被移除,文件丢失。您需要指定应该在 /backup 目录中创建该文件,如下所示

docker run --rm --volumes-from wordpress_db_1 -v c:\:/backup ubuntu tar cvf /backup/backup.tar /var/lib/mysql

需要注意的一件事是,通过映射 C 驱动器的根目录,您可以授予容器对整个磁盘的完全访问权限。所以要小心 :) 映射 %temp% 或其他像这样的目录会更安全

docker run --rm --volumes-from wordpress_db_1 -v %temp%:/backup ubuntu tar cvf /backup/backup.tar /var/lib/mysql