【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

如下所示:
Docker实践总结_docker
很显然是权限问题,使用chmod命令为宿主机上/mydocker/mysql/log赋予权限:

chmod -R 777 /mydocker/mysql/log