• centos docker服务问题


    概述

    docker的应用版本正式上线,结果一上线就出各种幺蛾子。

    本文档主要介绍centos系统安装docker和启动的问题解决方法。

    环境

    docker registry:2

    centos 6 && docker 1.7.1

    centos 7 && docker 24.0.6

    docker服务启动失败

    docker安装,命令会自动安装依赖libcgroup。

    yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm

    docker-engine     x86_64   1.7.1-1.el6

    libcgroup              x86_64   0.40.rc1-27.el6_10

    启动。

    sudo service docker start

    查看docker状态报错,发现docker服务启动失败。

    通过查看docker日志显示如下。

    cat /var/log/docker

    level=warning msg="You are running linux kernel version 2.6.32-431.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.10.0."

    /usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference

    这个错误和依赖库有关。

    报错解决方案,增加安装依赖库。

    sudo yum install device-mapper-libs

    重启。

    sudo service docker restart

    查看docker版本,服务启动成功。

    sudo docker version

    Client version: 1.7.1

    Client API version: 1.19

    Go version (client): go1.4.2

    Git commit (client): 786b29d

    OS/Arch (client): linux/amd64

    Server version: 1.7.1

    Server API version: 1.19

    Go version (server): go1.4.2

    Git commit (server): 786b29d

    OS/Arch (server): linux/amd64

    最大文件数

    fs容器正常启动后,运行稳定,测试正常。

    但是呼叫起量之后开始报错。

    [ERR] switch_rtp.c:4121 Error Starting timer [soft] 160 bytes per 20ms, async RTP disabled

    [ERR] switch_core_media.c:7566 AUDIO RTP REPORTS ERROR: [Socket Error!]

    [ERR] mod_sofia.c:2354 CODEC NEGOTIATION ERROR.  SDP:

    [ERR] mod_sndfile.c:204 Error Opening File [/usr/local/freeswitch/sounds/music/8000/suite-espanola-op-47-leyenda.wav] [System error : Too many open files.]

    从日志中可以看到很明显的系统错误,打开过多文件。

    检查系统参数。

    ulimit -a

    open files (-n) 1024

    查看fs进程ID为19633,检查对应的进程限制。

    sudo cat /proc/19633/limits

    Max open files 1024 1024 files

    查看fs进程当前打开文件数,下面是正常之后的数据。

    sudo ls -l /proc/19633/fd/ | wc -l

    2352

    很明显,docker服务启动时的系统限制单个进程最大打开文件数为1024,而fs在运行过程中打开音频文件和媒体端口都会失败。

    报错解决方案,修改系统限制,重启docker服务。

    sudo vi /etc/security/limits.conf

    * soft core unlimited

    * hard core unlimited

    * soft data unlimited

    * hard data unlimited

    * soft fsize unlimited

    * hard fsize unlimited

    * soft sigpending unlimited

    * hard sigpending unlimited

    * soft nofile 65536

    * hard nofile 65536

    * soft stack 8192

    * hard stack 8192

    * soft msgqueue unlimited

    * hard msgqueue unlimited

    * soft nproc 65536

    * hard nproc 65536

    * soft locks unlimited

    * hard locks unlimited

    * soft memlock unlimited

    * hard memlock unlimited

    sudo service docker restart

    重新检查fs进程限制,最大打开文件数为65536,问题解决。

    总结

    docker registry的私服镜像使用方便。

    docker-compose管理镜像启动配置。

    空空如常

    求真得真

  • 相关阅读:
    天坑,这样一个lambda随机取数据也有Bug
    羊大师:羊奶的多元价值,从餐桌到保健,一奶多用
    SoapUI、Jmeter、Postman三种接口测试工具的比较分析
    5.0、软件测试——边界值分析法
    redis爆满导致数据丢失
    非科班菜鸡算法学习记录 | 代码随想录算法训练营第57天|| 647. 回文子串 516.最长回文子序列 动态规划总结篇
    那些被人误解的IT专业,网络安全:谢邀,不是黑客
    5. Longest Palindromic Substring
    【愚公系列】2022年08月 微信小程序-左划删除效果实现
    Android 13.0 系统设置 app详情页默认关闭流量数据的开关
  • 原文地址:https://blog.csdn.net/qiuzhendezhen/article/details/136352276