我需要运行Web服务的ubuntu 12.04(sshd,apache2.2,php5.3,mysql-server)。我有 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 服务器上。
服务 Apache 2 状态,服务Apache 2 停止,服务 Apache 2 启动运行良好。
容器内没有运行初始化进程。因此,无法确定符文等级。如果有未知的运行级别,暴发户无法启动 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