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