Ubento docker sh mysql脚本运行
我有一个脚本来构建我的docker环境。 我有一句话:Ubento docker sh mysql脚本运行,mysql,linux,bash,shell,docker,Mysql,Linux,Bash,Shell,Docker,我有一个脚本来构建我的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
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命令将在容器中创建一个shell。在您退出容器之前,它不会运行它的其余部分。然后它将运行
mysql
等
您需要运行dockerexec-it-guacmysql/bin/bash
然后您可以创建一个单独的脚本,在容器本身中运行mysql
命令
但您当前的脚本无法工作。同样,它将运行mysql
,然后等待它退出,然后再运行create database
,等等
请参阅有关从文件执行脚本的文档:请参阅:mysql:command not found