`docker exec -i db_mysql mysqldump` do d d d d d d d d d d d od
我有数据库wp_almond
时,我有一个带有数据库wp_almond
的mySQL docker容器(db_mysql
)
当我尝试使用docker exec -i 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
的容器,用于备份脚本
I have a MySQL Docker container (db_mysql
) with database wp_almond
When I try to dump it with docker exec -i db_mysql mysqldump
it doesn't work
$ 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
But entering the container and then doing the mysqldump
inside works
$ 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
I don't know why, I need to do it without entering the container with sh
for a backup script
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当您运行
docker exec -i db_mysql mysqldump -u root -p wp_almond
时,将输出产生到stdout(oft host终端)
时,当您运行
docker exec -i exec -i exec -i db_mysql mysqlm 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”
>When you run
docker exec -i db_mysql mysqldump -u root -p wp_almond
then the output is produced to stdout (of your host terminal)
Therefore, when you run
docker exec -i db_mysql mysqldump -u root -p wp_almond > wp_almond.sql
It simply redirects the output of your terminal to file on your host itself.
If you want to save it in the container, try this instead
docker exec -i db_mysql sh -c "mysqldump -u root -p wp_almond > wp_almond.sql"