一尘不染

ubuntu 12.04进入docker“ service mysql start”

docker

我需要运行正在开发的Web服务(sshd,apache2.2,php5.3,mysql-server)的ubuntu 12.04。我有Ubuntu
14.04,我安装了Docker。

然后我开始容器:

docker run -t -i ubuntu:12.04 /bin/bash

然后:

apt-get update && apt-get install -y mysql-server

之后:服务mysql启动,服务mysql状态不起作用。如果我使用14.04 ubuntu运行容器,则效果很好。sshd服务器也存在同样的问题。

服务apache2状态,服务apache2停止,服务apache2启动正常。


阅读 302

收藏
2020-06-17

共1个答案

一尘不染

容器内部没有运行任何初始化进程。因此,无法确定符文等级。如果存在未知的运行级别,则新贵无法启动mysql。…请参见/etc/init/mysql.conf

...
start on runlevel [2345]
...

如果您尝试检查运行级别:

$ runlevel
unknown

…您看到它是未知的。

在Docker中,这是在前台启动应用程序的常用方法。

/usr/bin/mysqld_safe

如果要启动多个应用程序,则可以使用超级用户。

http://supervisord.org/

https://docs.docker.com/articles/using_supervisord/

另外,我发现了一个Dockerfile,它在ubuntu:12.04 docker容器内启动了一个init。真的很棒:

https://github.com/tianon/dockerfiles/blob/master/sbin-
init/ubuntu/upstart/12.04/Dockerfile

2020-06-17