我有一个MySQL Docker容器(db_mysql),它带有数据库wp_almond
当我尝试用docker exec -i db_mysql mysqldump转储它时,它不起作用
$ docker exec -i db_mysql mysqldump -u root -p wp_almond > wp_almond.sql
$ docker exec -i db_mysql ls # Notice that "wp_almond.sql" was not created
bin
boot
dev
docker-entrypoint-initdb.d
entrypoint.sh
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var但进入容器,然后在内部执行mysqldump工作
$ docker exec -it db_mysql sh
$ mysqldump -u root -p wp_almond > wp_almond.sql
$ ls # Here "wp_almond.sql" is present
bin
boot
dev
docker-entrypoint-initdb.d
entrypoint.sh
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
wp_almond.sql我不知道为什么,我需要在没有输入带有sh的容器的情况下进行备份脚本
发布于 2022-07-06 00:35:38
当你跑的时候
docker exec -i db_mysql mysqldump -u root -p wp_almond
然后输出输出到(主机终端的)标准输出。
因此,当你跑
docker exec -i db_mysql mysqldump -u root -p wp_almond > wp_almond.sql
它只需将终端的输出重定向到主机上。
如果要将其保存在容器中,请尝试以下操作
docker exec -i db_mysql sh -c "mysqldump -u root -p wp_almond > wp_almond.sql"
https://stackoverflow.com/questions/72848230
复制相似问题