在backgroud中启动/ usr / bin / mysqld_safe

时间:2017-12-11 19:23:08

标签: mysql docker containers

我正在使用docker和mysql运行一个容器。我的图像库是Ubuntu 16,问题是当我执行/usr/bin/mysqld_safe --user=mysql --skip-grant-tables时,我的终端保持黑色,我无法输入内部或在内部执行。有没有办法执行此命令并将过程发送到后台?这个容器需要执行命令,同时在后台运行mysql。

2 个答案:

答案 0 :(得分:1)

您可以在该行的末尾添加public partial class Form1 : Form { int value1 = 0; int value2 = 0; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { value1++; textBox1.Text = value1.ToString(); } private void button2_Click(object sender, EventArgs e) { value2 += 2; textBox1.Text = value2.ToString(); } } ,它将转到后台。

答案 1 :(得分:1)

手册

启动docker container daemonized
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"]