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