【问题标题】:How to start service in docker container at start up如何在启动时在 docker 容器中启动服务
【发布时间】:2016-12-16 22:55:43
【问题描述】:

我正在尝试使用以下 docker 文件为 OpenTSDB 设置 docker 映像

FROM centos:6.7
MAINTAINER http://www.centos.org

RUN yum -y update && yum clean all
RUN yum -y install httpd && yum clean all

RUN yum -y install java-1.7.0-openjdk
RUN yum -y install gnuplot
RUN yum install -y https://github.com/OpenTSDB/opentsdb/releases/download/v2.2.0/opentsdb-2.2.0.noarch.rpm
RUN sed -i '/^#tsd.storage.hbase.zk_basedir*/c\tsd.storage.hbase.zk_basedir = \/hbase-unsecure' /etc/opentsdb/opentsdb.conf
RUN sed -i '/^#tsd.storage.hbase.zk_quorum*/c\tsd.storage.hbase.zk_quorum = 10.8.18.14:2181,10.8.18.15:2181,10.8.18.17:2181' /etc/opentsdb/opentsdb.conf
RUN echo 'tsd.storage.fix_duplicates = true' >> /etc/opentsdb/opentsdb.conf
RUN echo 'tsd.http.request.cors_domains = *' >> /etc/opentsdb/opentsdb.conf
EXPOSE 4242
CMD service opentsdb start && tail -F /var/log/opentsdb/opentsdb.log

最后一个CMD是把opentsdb作为服务启动,但是不起作用。

不知道我在这里缺少什么,有人可以帮忙吗?

【问题讨论】:

    标签: docker centos containers dockerfile opentsdb


    【解决方案1】:

    您应该在前台启动您的 docker 进程,不要依赖 init、upstart 或其他 OS 服务控制器来运行您的命令。我不熟悉opentsdb,但似乎他们有以下在前台开始他们的进程:

    CMD tsdb tsd
    

    【讨论】:

      猜你喜欢
      • 2013-08-05
      • 2016-09-08
      • 2019-10-25
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      • 2014-09-27
      相关资源
      最近更新 更多