我需要运行正在开发的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启动正常。
容器内部没有运行任何初始化进程。因此,无法确定符文等级。如果存在未知的运行级别,则新贵无法启动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