【问题标题】:Ubunto docker sh mysql script runUbuntu docker sh mysql 脚本运行
【发布时间】:2017-05-14 22:14:39
【问题描述】:

我有一个构建我的 docker env 的脚本。 我有这一行:

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,但其他行不运行,我只需要一一运行。 如何执行然后注入脚本?

谢谢:)

【问题讨论】:

标签: mysql linux bash shell docker


【解决方案1】:

您不能将其作为单个脚本运行。 docker exec 命令将在容器中创建一个 shell。在您退出容器之前,它不会运行其余部分。然后它将运行mysql 等...

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

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

但您当前的脚本将无法运行。再次,它将运行mysql,然后等待它退出,然后再运行create database,等等。

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

【讨论】:

    猜你喜欢
    • 2020-04-16
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多