开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

docker错误信息整理

简介:
+关注继续查看

1、Error response from daemon: Cannot start container 7cb4a74f9ef7bcc6fa659e3473aac10bd430c18aac43b4f6633920742e159284: iptables failed: iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT --to-destination 192.168.42.8:5000 ! -i docker0: iptables: No chain/target/match by that name.


解决方案:重启docker



2、Docker无法启动 Could not find a free IP address range for interface 'docker0' 最方便的解决办法

2015-09-21 15:44 1294人阅读 评论(0) 收藏 举报

转载自:http://www.bubuko.com/infodetail-969451.html


阿里云的CentOS 6.6上安装Docker会无法启动,如果直接运行docker -d会看到错误提示:

WARN[0000] You are running linux kernel version 2.6.32-573.3.1.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.10.0. 

INFO[0000] [graphdriver] using prior storage driver "devicemapper" 

INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) 

WARN[0000] Running modprobe bridge nf_nat failed with message: , error: exit status 1 

FATA[0000] Error starting daemon: Error initializing network controller: Error creating default "bridge" network: can't find an address range for interface "docker0" 


关于docker进程没起来的原因可能会有很多,比如

模块没加载,系统内核版本过低,硬盘空间不足等等

一开始我以为是系统内核版本过低导致,百度又google了半天,还安装了3.10的内核库,都没用

最后看到有人说,虽然报警建议升级内核到3.10,但意义就是docker宣称在3.10下是stable,低于3.10不是就不能运行了,只是unstable而已,docker的依赖内核需要高于2.6.32就可以

其实本处的重要信息是报错最后一句,原因就是docker自动尝试的建立bridge的ip段正好被阿里云的路由表完全占据了

详细原因可以参见这个帖子:http://hanjianwei.com/2014/07/30/docker-on-aliyun/


网上有好多类似的解决方法,不过好麻烦,这里主要说下最方便的解决方法

先su到root

找一下docker的配置文件: find / -name "docker"

一般会在 /etc/sysconfig/docker

编辑这个文件 vi /etc/sysconfig/docker

修改other_args=这一行为:other_args=-bip=192.168.100.1/24

保存退出


可以重启docker了

service docker restart



3、docker不能启动容器,报一下错误Error running DeviceCreate (createSnapDevice) dm_task_run failed


1) service docker stop

2) thin_check /home/docker/devicemapper/devicemapper/metadata

3) thin_check --clear-needs-check-flag /home/docker/devicemapper/devicemapper/metadata

4) service docker start

Edit: –clear-needs-check-flag should be --clear-needs-check-flag . Minor but important.


4、重启docker服务器后 遇到 'device or resource busy'错误


如果有container在运行的时候重启 docker 服务, 可能会导致 container无法启动, 错误信息类似于

[plain] view plain copy print?在CODE上查看代码片派生到我的代码片

Error response from daemon: Cannot start container zookeeper: Error getting container ddf1dd91bbf46dc648268327f8f7c6fffaf2f19cda5cf1d97fdc701016d4332c from driver devicemapper: Error mounting '/dev/mapper/docker-8:1-525372-ddf1dd91bbf46dc648268327f8f7c6fffaf2f19cda5cf1d97fdc701016d4332c' on '/var/lib/docker/devicemapper/mnt/ddf1dd91bbf46dc648268327f8f7c6fffaf2f19cda5cf1d97fdc701016d4332c': device or resource busy  

2015/01/26 04:42:07 Error: failed to start one or more containers  

或者

[plain] view plain copy print?在CODE上查看代码片派生到我的代码片

d2859bd1f84b: Error pulling image (latest) from xxxxxx, Driver devicemapper failed to create image rootfs e6158e7962db43274de40fc3db65ad64811d43fe342dea633df20639f5a4e3cd: device e6158e7962db43274de40fc3db65ad64811d43fe342dea633df20639f5a4e3cd already exists 43fe342dea633df20639f5a4e3cd already exists c049b2b: Download complete  

e6158e7962db: Error downloading dependent layers  

这是一个Docker的 bug 

解决方式是先找出没有umount的路径

cat /proc/mounts | grep "mapper/docker" | awk '{print $2}'

然后依次unmount


5、挂载宿主机目录后,在容器内对其进行操作,报“Permission denied”。

可通过两种方式解决:

1> 关闭selinux。

临时关闭:# setenforce 0

永久关闭:修改/etc/sysconfig/selinux文件,将SELINUX的值设置为disabled。

2> 以特权方式启动容器

指定--privileged参数

如:# docker run -it --privileged -v /test:/soft centos /bin/bash



     本文转自aaron428 51CTO博客,原文链接:http://blog.51cto.com/aaronsa/1744651,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Docker】三 镜像容器常用命令
国内访问Docker Hub的速度很不稳定,有时甚至出现连接不上的情况。本节我们来为Docker配置镜像 加速器,从而解决这个问题。目前国内很多云服务商都提供了镜像加速的服务。 常用的镜像加速器有:阿里云加速器、DaoCloud加速器等。各厂商镜像加速器的使用方式大致类似, 笔者以阿里云加速器为例进行讲解。
0 0
四位一体水溶交融,Docker一拖三Tornado6.2 + Nginx + Supervisord非阻塞负载均衡容器式部署实践
容器,又见容器。Docker容器的最主要优点就在于它们是可移植的。一套服务,其所有的依赖关系可以捆绑到一个独立于Linux内核、平台分布或部署模型的主机版本的单个容器中。此容器可以传输到另一台运行Docker的主机上,并且在没有兼容性问题的情况下执行。而传统的微服务架构会将各个服务单独封装为容器,虽然微服务容器化环境能够在给定数量的基础架构内实现更高的工作负载密度,但是,在整个生产环境中创建、监视和销毁的容器需求总量呈指数级增长,从而显著增加了基于容器管理环境的复杂性。
0 0
Win10系统下基于Docker构建Appium容器连接Android模拟器Genymotion完成移动端Python自动化测试
Python自动化,大概也许或者是今年最具热度的话题之一了。七月流火,招聘市场上对于Python自动化的追捧热度仍未消减,那么Python自动化到底能帮我们做些什么呢? 第一,Python自动化可以避免熟练工种的重复工作,对于功能相对完整和成熟的软件,每发布一个新的版本,无论是大版本还是小版本,其中大部分功能和界面都几乎和上一个版本相似或完全相同,但所谓向上兼容,你不能因为新功能的产生而不对老版本功能进行测试工作,而这些老功能又在上一个版本上线时测过,所以这部分功能特别适合于自动化测试,从而可以让测试达到测试每个特征的目的。
0 0
浩若烟海事半功倍|利用Docker容器技术构建自动化分布式web测试集群Selenium Grid
“世界上有那么多城市,城市里有那么多的酒馆,可她,却偏偏走进了我的.....”,这是电影《卡萨布拉卡》中的一句著名独白,投射到现实生活中,与之类似的情况不胜枚举,这世界上有那么多的系统,系统中有那么多的浏览器,在只有一台测试机的前提下,难道我们只能排队一个一个地做兼容性测试吗?有没有效率更高的方法呢?为此我们提出一个更高效的解决方案:使用Docker+Selenium Grid。
0 0
5个除了docker之外的轻量级容器
5个除了docker之外的轻量级容器
0 0
【云原生】Docker容器数据卷
【云原生】Docker容器数据卷
0 0
Jenkins+GitLab自动化部署到Docker容器
Jenkins+GitLab自动化部署到Docker容器
0 0
docker容器内启动mysql服务,报错:New main PID 99 does not belong to service, and PID file is not owned by root.
docker容器内启动mysql服务,报错:New main PID 99 does not belong to service, and PID file is not owned by root.
0 0
docker容器设置镜像加速实战
docker容器设置镜像加速实战
0 0
docker容器设置ssh远程链接实战
docker容器设置ssh远程链接实战
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Docker 镜像原理和最佳实践
立即下载
Docker镜像原理和最佳实践
立即下载
我的Docker:Docker插件机制详解
立即下载