【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