我试图将远程数据库转储到本地docker容器的数据库中。
$ docker exec -i my_container \
mysqldump my_remote_database -h my_remote_host.me -u my_remote_user -p
这给了我远程转储井
所以这是我的尝试:
$ docker exec -i my_container \
mysqldump my_remote_database -h my_remote_host.me -u my_remote_user -p \
| docker exec -i my_container mysql -u my_local_user -pmy_local_password \
-D my_local_database
$ docker exec -i my_container bash -c \
"mysqldump my_remote_database -h my_remote_host.pp -u my_remote_user -p \
| mysql -u my_local_user -pmy_local_password -D my_local_database"
两者似乎都没有对本地数据库产生任何影响(尽管没有错误)
如何传输这些数据?
答案 0 :(得分:1)
我总是喜欢在交互式终端中解决容器内部的问题。
首先,让图像的cantainer运行并检查以下内容:
docker exec -ti my_container bash
,远程主机名my_remote_host.me
是否已解析并可以路由到它?使用ping或nslookup。mydump.sql
转储文件。然后检查容器内部:
mysql -u my_local_user -pmy_local_password -D mylocaldb < mydump.sql
如果这一切都有效,那么你可以开始查看管道失败的原因,但我怀疑问题可能出在其中一个分辨率上。
我注意到你说的是本地数据库。是本地数据库&#39;容器内部或运行套接字连接的Docker主机?