【问题标题】:start /usr/bin/mysqld_safe in backgroud在后台启动 /usr/bin/mysqld_safe
【发布时间】:2017-12-11 19:23:07
【问题描述】:

我正在使用 docker 和 mysql 运行一个容器。我的图像库是 Ubuntu 16,问题是当我执行 /usr/bin/mysqld_safe --user=mysql --skip-grant-tables 时,我的终端保持黑色,我不能在里面打字或做任何事情。有没有办法执行这个命令并将进程发送到后台?这个容器需要执行命令,同时后台运行mysql。

【问题讨论】:

    标签: mysql docker containers


    【解决方案1】:

    您可以在行尾添加&,它将转到后台。

    【讨论】:

      【解决方案2】:

      手册

      启动 docker 容器守护进程
      docker run -d --name mysql <image> -- /usr/bin/mysqld_safe --user=mysql --skip-grant-tables

      连接容器并运行命令:
      docker exec -it mysql sh

      入口点

      常见的方法是使用入口点脚本。

      #!/bin/sh
      # entrypoint.sh
      
      /usr/bin/mysqld_safe --user=mysql --skip-grant-tables &
      # more commands etc.
      

      将脚本设置为可执行文件

      chmod 755 entrypoint.sh

      然后在您的 Dockerfile 中:
      ADD entrypoint.sh .
      ENTRYPOINT ["./entrypoint.sh"]

      【讨论】:

      • thx 兄弟,我只需要在最后加上“&”,不管怎样,我试着用 bash 来做,看看会发生什么
      猜你喜欢
      • 2016-06-26
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      • 2012-04-11
      • 2014-08-05
      • 2013-04-22
      相关资源
      最近更新 更多