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管理镜像启动配置。
空空如常
求真得真
centos docker服务问题的更多相关文章
- CentOS 7安装Docker服务详细过程
---恢复内容开始--- Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟 ...
- 安装指定版本的docker服务
参考博客:Docker CE 镜像源站 参考博客:docker启动异常driver not supported 1. 说明 之前部署docker服务的时候都是安装最新的docker版本,并使用dock ...
- Centos + docker,Ubuntu + docker介绍安装及详细使用
docker笔记 常用命令 设置docker开机自启:sudo chkconfig docker on 查所有镜像: docker images 删除某个镜像:docker rmi CONTAINER ...
- 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World
操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...
- .NetCore 发布到 Centos docker
[搭建环境] 系统:CentOS 7.0 容器:Docker 1.13.1 .Net Core 版本:.NET Core 2.2 工具:putty.filezilla 等. 一.安 ...
- centos docker
1.安装docker yum install docker --安装docker service docker start --启动docker服务 docker --version --查看版本 ...
- 解决Docker服务无法正常启动
重新docker服务报错如下: systemctl restart docker.service Cannot connect to the Docker datemon at tcp://0.0.0 ...
- 安装centos docker ce
安装centos docker ce 移除旧的版本: $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker- ...
- centos + docker搭建深度学习环境以及一些问题解决
必须要说容器是一个很牛逼的思想!注意,是思想!也许docker有种种问题,但是不管docker能否茁壮地发展下去,未来这种方式的环境搭建一定会变得越来越流行! 网上有很多这方面的教程,但大多数都不太好 ...
- CentOS7 docker服务部署
以下命令可以在root身份下保存为shell脚本直接bash一次性执行 参考: https://yeasy.gitbooks.io/docker_practice/install/centos.htm ...
随机推荐
- [转帖]网卡多队列:RPS、RFS、RSS、Flow Director(DPDK支持)
Table of Contents 多队列简介 RPS介绍(Receive Packet Steering) RFS介绍(Receive flow steering) RSS介绍(receive si ...
- NutUI-React 京东移动端组件库 2月份上新!欢迎使用!
作者:京东零售 佟恩 NutUI 是一款京东风格的移动端组件库.NutUI 目前支持 Vue 和 React技术栈,支持Taro多端适配. 本次,是2月的一个示例输出,希望对你有帮助! 2月,我们对组 ...
- 分享一个项目:`learning_go_plan9_assembly`, 学习 golang plan9 汇编
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 近期在学习 golang plan9 汇编,总算基本做到了 ...
- vim 从嫌弃到依赖(21)——跨文件搜索
之前介绍了vim中的搜索模式,使用正则表达式可以很方便的在一个文件中进行搜索.后续也介绍了如何使用 argsdo 命令在参数列表中进行替换操作.但是到目前为止还没有介绍如何在工程目录中进行搜索,而这个 ...
- TienChin 新建业务菜单
首先是移动菜单,参考下图将菜单移动到下图结构: 我这里将系统监控,系统工具都移动到了系统管理下面,并且排了个序,将多级菜单放在了一起,这样看起来更加的清晰. 修改一下系统管理(100)与TienChi ...
- django批量插入,遇到错误改为逐条插入
为了提升插入数据的效率,通常采用批量插入的方式,当一批数据中有错误数据时,该批次数据报错,都插入失败.如何跳过引起报错的数据,将其他正确的数据插入,实现方式如下代码. data_to_insert = ...
- 【双指针】双指针算法详解两道经典OJ【力扣27,力扣26,力扣38】超详细算法教程
[双指针]双指针算法详解两道经典OJ[力扣27,力扣26,力扣38]超详细算法教程 今天又又到了我们刷力扣题的时间啦! 今天博主给大家带来的三道题是: 27. 移除元素 26. 删除有序数组中的重复项 ...
- 自然语言开发AI应用,利用云雀大模型打造自己的专属AI机器人
如今,大模型层出不穷,这为自然语言处理.计算机视觉.语音识别和其他领域的人工智能任务带来了重大的突破和进展.大模型通常指那些参数量庞大.层数深.拥有巨大的计算能力和数据训练集的模型. 但不能不承认的是 ...
- yapi的安装
1.官方网站:https://hellosean1025.github.io 2.看官方的文档,部署方法: 3. 根据文档 安装环境先: 4. 开始安装yapi 5. 可见需要启动一下 6.重启一下 ...
- .NET 云原生架构师训练营(模块二 基础巩固 RabbitMQ 业务场景详解)--学习笔记
2.6.5 RabbitMQ -- 业务场景详解 异步处理 应用解耦 流量削锋 日志处理 异步处理 串行方式 并行方式 异步方式 串行方式 _userRepo.Add(user); _emailSer ...