Ubunto docker sh mysql脚本运行

我有一个脚本,build立我的docker环境。 我有这条线:

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,但其他行不运行,我只需要一个接一个地运行它们。 我怎样才能执行并注入脚本?

谢谢 :)

您不能将其作为单个脚本运行。 docker exec命令将在容器中创build一个shell。 它将不会运行其余的,直到你退出容器。 那么它会运行mysql等…

你需要运行docker exec -it guac-mysql /bin/bash

然后你可以创build一个单独的脚本来在容器本身内运行mysql命令

但是你当前的脚本不起作用。 再次运行mysql ,然后等到运行create database之前退出

请参阅有关从文件执行脚本的文档: https : //dev.mysql.com/doc/refman/5.7/en/mysql-batch-commands.html