2017-05-14 15 views
0

私はドッカーenvを構築するスクリプトを持っています。 私はこのラインを持っている:私はちょうどそれらを一つずつ実行する必要があり、私は実行するとUbunto docker sh mysqlスクリプトを実行

docker exec -it guac-mysql /bin/bash 
mysql -u root -p123456 
CREATE DATABASE guacamole; 
CREATE USER 'guacamole' IDENTIFIED BY 123456; 
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole.* TO 'guacamole'; 
FLUSH PRIVILEGES; 
quit 

、スクリプトがコンテナ上のbashで取得しますが、他の行が実行いけません。 スクリプトを実行して注入するにはどうすればよいですか?

ありがとうございました:)

+0

を参照してください:[一環として、ドッキングウィンドウコンテナにコマンドを実行する方法bashシェルスクリプト](http://stackoverflow.com/q/36627980/3776858) – Cyrus

+0

mysql:コマンドが見つかりません – user3712353

答えて

0

これを1つのスクリプトとして実行することはできません。 docker execコマンドはコンテナにシェルを作成します。あなたがコンテナを出るまで、残りの部分は実行されません。それはあなたがdocker exec -it guac-mysql /bin/bash

を実行する必要があります...

mysqlなどを実行し、その後、あなたは、コンテナ自体

mysqlコマンドを実行するには、別のスクリプトを作成することができますが、あなたの現在のスクリプトが」勝ちました仕事。再び、それはmysqlを実行し、その後など、create databaseを実行する前に終了することを待つ

はファイルからスクリプトを実行する上でのドキュメントを参照してください。https://dev.mysql.com/doc/refman/5.7/en/mysql-batch-commands.html

関連する問題