重定向docker-exec的输出

时间:2016-03-19 18:42:29

标签: mysql docker

docker exec对我不起作用。如果我使用docker exec -it mymachine bash连接到正在运行的容器并运行sh -c 'mysql -u root < /tmp/schema.sql',则可以正常运行。

如果我只是运行docker exec mymachine sh -c 'mysql -u root < /tmp/schema.sql',它不会给出任何错误,但它没有做任何事情。如果我运行docker exec mymachine sh -c 'mysql -u root < /tmp/i_dont_exist.sql',也不会给我任何错误。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

试试这个 -

docker exec mymachine "sh -c 'mysql -u root < /tmp/schema.sql'"

如果不是那么'&lt;'操作员将被主机中的shell拾取而不是容器。

答案 1 :(得分:0)

我怀疑<运营商正试图从您的主机而不是您的容器中抓取。尝试将整个命令括在引号中。