【问题标题】:ubuntu 12.04 into docker "service mysql start"ubuntu 12.04 进入 docker "service mysql start"
【发布时间】:2017-09-18 10:09:49
【问题描述】:

我需要运行开发 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

之后:service mysql start, service mysql status is not working。如果我使用 14.04 ubuntu 运行容器,它运行良好。 sshd 服务器也有同样的问题。

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

【问题讨论】:

    标签: mysql ubuntu docker


    【解决方案1】:

    容器内没有运行初始化进程。因此无法确定符文等级。 如果存在未知的运行级别,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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-14
      • 2016-07-14
      • 2013-01-24
      • 1970-01-01
      • 2015-03-23
      • 2013-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多