【1】防火墙或者网络错误
① 修改了防火墙或者网络,启动容器报错
背景:修改了iptables,没有重启docker服务
启动容器报错:
Error response from daemon: Cannot restart container 2907e4188b3d: iptables failed: iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination 172.17.0.2:3306 ! -i docker0: iptables : No chain/target/match by that name.
(exit status 1)
解决
重启docker服务:service docker restart
【2】自定义my.cnf但是启动失败
在宿主机上自定义my.cnf将会自动同步到容器内,然后启动容器失败。自定义my.cnf中主要添加了日志配置,容器启动的时候将会添加数据卷/mydocker/mysql/log:/var/log/mysql
log-error = /var/log/mysql/error.log
使用命令查看日志:
docker logs -f -t --tail 100 2c1ae7a2f3cd
如下所示:
很显然是权限问题,使用chmod命令为宿主机上/mydocker/mysql/log赋予权限:
chmod -R 777 /mydocker/mysql/log