ubuntu 12.04进入docker"service mysql start"

Ser*_*rko 3 mysql ubuntu docker

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

然后我开始容器:

docker run -t -i ubuntu:12.04 /bin/bash
Run Code Online (Sandbox Code Playgroud)

然后:

apt-get update && apt-get install -y mysql-server
Run Code Online (Sandbox Code Playgroud)

之后:服务mysql启动,服务mysql状态不起作用.如果我正在运行14.04 ubuntu的容器,它运行良好.sshd服务器也是同样的问题.

service apache2 status,service apache2 stop,service apache2 start运行良好.

st0*_*0ne 9

容器内没有运行init进程.因此无法确定符文级别.如果存在未知的运行级别,则upstart无法启动mysql....请参阅/etc/init/mysql.conf

...
start on runlevel [2345]
...
Run Code Online (Sandbox Code Playgroud)

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

$ runlevel
unknown
Run Code Online (Sandbox Code Playgroud)

......你看它不明.

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

/usr/bin/mysqld_safe
Run Code Online (Sandbox Code Playgroud)

如果要启动多个应用程序,可以使用supervisord.

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