docker - 如何将 docker 卷目录复制到主机
问题描述
我尝试将不健康的数据库从 docker 容器卷备份到本地主机。我没有找到任何功能脚本。这是我的容器结构。
docker-desktop:/var/lib/docker# ls
builder containers overlay2 swarm volumes
buildkit image plugins tmp
containerd network runtimes trust
docker-desktop:/var/lib/docker/volumes# ls
ba41a7f8c8b68619709139ec396363be7f40a3e6da2c4efafeb7a01e408a5dcc
cfarchitecture_data_appserver
cfarchitecture_data_database
cfarchitecture_data_pma
cfarchitecture_home_appserver
cfarchitecture_home_database
cfarchitecture_home_pma
landocasetupkenobi38ahsoka60a2ffd2ada01dc9cbe426cbf7999bb8297ec6a0_data_ca
landocasetupkenobi38ahsoka60a2ffd2ada01dc9cbe426cbf7999bb8297ec6a0_home_ca
landoproxyhyperion5000gandalfedition_data_proxy
landoproxyhyperion5000gandalfedition_home_proxy
metadata.db
docker-desktop:/var/lib/docker/volumes/cfarchitecture_data_database# ls
_data
docker-desktop:/var/lib/docker/volumes/cfarchitecture_data_database/_data# ls
auto.cnf ib_buffer_pool performance_schema
ca-key.pem ib_logfile0 private_key.pem
ca.pem ib_logfile1 public_key.pem
client-cert.pem ibdata1 server-cert.pem
client-key.pem mysql server-key.pem
drupal8 mysql_upgrade_info sys
docker-desktop:/var/lib/docker# ls
builder containers overlay2 swarm volumes
buildkit image plugins tmp
containerd network runtimes trust
docker-desktop:/var/lib/docker/containers# ls
05d2cb8982e61a621a38d0443c8c067cc6585aa3275312dadc56ea972d12bb99
70b77f688c6552181044c76326e90dfcf906c2ddae25ee8450c1c1b09ea2029c
c00e38c7acc03545723ba126537cba08a8fb553b274fc5ba9fa2635a8883e370
这是备份我的文件夹的最新尝试:
macpro-10:~ Yom$ docker run --rm --volumes-from c00e38c7acc03545723ba126537cba08a8fb553b274fc5ba9fa2635a8883e370 -v ~/backup:/backup ubuntu bash -c 'cd /drupal8 && tar cvf /backup/ghost-site.tar .'
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
Digest: sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d
Status: Image is up to date for ubuntu:latest
docker: Error response from daemon: No such container: c00e38c7acc03545723ba126537cba08a8fb553b274fc5ba9fa2635a8883e370.
See 'docker run --help'.
macpro-10:~ Yom$ c00e38c7acc03545723ba126537cba08a8fb553b274fc5ba9fa2635a8883e370
-bash: c00e38c7acc03545723ba126537cba08a8fb553b274fc5ba9fa2635a8883e370: command not found
macpro-10:~ Yom$ docker run --rm --volumes-from cfarchitecture_database_1 -v ~/backup:/backup ubuntu bash -c 'cd /data/drupal8 && tar cvf /backup/ghost-site.tar .'
bash: line 0: cd: /data/drupal8: No such file or directory
macpro-10:~ Yom$ docker run --rm --volumes-from cfarchitecture_database_1 -v ~/backup:/backup ubuntu bash -c 'cd /_data/drupal8 && tar cvf /backup/ghost-site.tar .'
bash: line 0: cd: /_data/drupal8: No such file or directory
macpro-10:~ Yom$ docker run --rm --volumes-from cfarchitecture_database_1 -v ~/backup:/backup ubuntu bash -c 'cd /var/lib/docker/volumes/cfarchitecture_data_database/_data/drupal8 && tar cvf /backup/ghost-site.tar .'
bash: line 0: cd: /var/lib/docker/volumes/cfarchitecture_data_database/_data/drupal8: No such file or directory
我完全迷失了,我真的需要备份这个数据库(1周的工作)非常感谢
解决方案
您正在运行多少个容器?
可以列个清单吗?
docker ps -aq
我希望您的容器在备份操作之前不会与图像一起被删除。此外,如果容器正在运行。请停止使用docker stop
,然后尝试。
请张贴上面的命令输出。
推荐阅读
- reactjs - Docker 运行给出错误:找不到模块'/app/NPM'
- c# - 如何一次将多行插入数据库
- android - 显示灰色的按钮(新的 onClickListener())
- firebase - 在 express 中,他们为什么使用 app 和 main?
- elasticsearch - 弹性,有没有办法在更改设置后查看实时配置?
- oracle - Oracle 执行存储过程不返回所有列和结果
- odoo - 如何在 Odoo 的自定义模型中使用联系人(partnet)地址字段
- microsoft-graph-api - 如何在最后一行下方追加或添加行。(在工作表中)
- java - 如何将 java 枚举映射到 postgreSQL 枚举以进行条件选择查询
- redis - lua 使用带有“setex”的 redis 命令设置过期时间在 openresty 中显示为永久密钥