我需要 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 服务器也有同样的问题。
服务 apache2 状态、服务 apache2 停止、服务 apache2 启动正常。
最佳答案
容器内没有运行init进程。因此无法确定 rune 级别。 如果有未知的运行级别,upstart 无法启动 mysql。 ... 参见/etc/init/mysql.conf
...
start on runlevel [2345]
...
如果您尝试检查运行级别:
$ runlevel
unknown
...你看它是未知的。
在 Docker 中,这是在前台启动应用程序的常用方法。
/usr/bin/mysqld_safe
如果要启动多个应用,可以使用supervisord。
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
关于mysql - ubuntu 12.04 进入 docker "service mysql start",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27154567/