2016-03-19 12 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