zoukankan      html  css  js  c++  java
  • keepalived 容器在宿主机重启后无法启动问题:报错:daemon is already running

    初步猜测原因是:keepalived容器内的keepalived.pid文件在keepalived容器非正常退出时,没有正确删除,造成第二次启动时容器检查到pid文件已经存在,认为该进程已经存在,因为keepalived容器的启动检查机制只允许同一台主机上启动一个进程,所以无法启动,并报错:daemon is already running
    注:该问题是keepalived软件本身存在的一个bug,如果需要优化,可以考虑在keepalived容器内增加脚本,在keepalived容器启动前进行一次清理动作,主动清理掉原来的keepalived.pid文件,待验证

    已验证:上面猜测的原因是正确的

    可以重新构建keepalived镜像,在启动keepalived之前删除一遍keepalived.pid文件即可

    新的dockerFile文件

    FROM keepalived:1.3.5.0
    MAINTAINER wulj
    
    COPY keepalived.sh /etc/init.d/
    RUN chmod +x /etc/init.d/keepalived.sh
    ENTRYPOINT ["/etc/init.d/keepalived.sh"]

    keepalived.sh文件

    #!/bin/bash
    #decription:start keepalived
    echo `ps -ef` > /winhong_test.txt
    rm -rf /var/run/keepalived.pid
    /usr/sbin/keepalived --dont-fork --log-console --log-detail
  • 相关阅读:
    2016.9.3 好好学习天天快乐解题报告
    2016.8.29 LGTB解题报告
    2016.8.29 解题报告之我会做的题都是简单题
    2016.8.28 随写
    2016.8.27一套简单的题解题报告
    2016.8.25 NOIP2012 day1 解题报告
    进度条君
    2016..8.25 切题总结
    2016.8.25 暑假总结
    dsu on tree学习笔记
  • 原文地址:https://www.cnblogs.com/caogen1991/p/11338020.html
Copyright © 2011-2022 走看看