2016-03-19 89 views
0

docker exec不適用於我。如果我使用docker exec -it mymachine bash連接到正在運行的容器並運行sh -c 'mysql -u root < /tmp/schema.sql',則它可以正常工作。重定向docker-exec的輸出

如果我只是運行docker exec mymachine sh -c 'mysql -u root < /tmp/schema.sql',它不會給出任何錯誤,但它什麼也不做。如果我運行docker exec mymachine sh -c 'mysql -u root < /tmp/i_dont_exist.sql',它也不會給我任何錯誤。

我該如何解決這個問題?

回答

0

我懷疑<運營商試圖從您的主機,而不是您的容器。嘗試用引號括住整個命令。

1

試試這個 -

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

如果不是那麼「<」運營商將通過在主機外殼,而不是容器被拾起。

+0

做了編輯解釋 – lamirap