mysql - ubuntu 12.04 进入 docker "service mysql start"

标签 mysql ubuntu docker

我需要 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。

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

关于mysql - ubuntu 12.04 进入 docker "service mysql start",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27154567/

相关文章:

ubuntu - 将 LXD 集群添加到 MAAS 时遇到问题

mysql - GUID有什么好的解决方案?

mysql - 结果介于两者之间并在选择中计数

c++ - OpenCV - 无法打开我的网络摄像头的窗口

c - Posix 线程在其他线程退出后挂起?

node.js - 我应该在(Docker)容器中使用 forever/pm2 吗?

linux - Docker加载并保存: "archive/tar: invalid tar header"

docker - 无法在Alpine容器中使用os.exec通过shell运行kubectl命令

mysql - 在mysql查询中使用两个内连接

mysql - 如何将ibeacon信息发布到服务器