docker容器启动失败
问题描述
服务器断电,异常关机,重启后,发现无法正常启动docker容器,提示错误:
$ docker start mysql-server
Error response from daemon: error creating overlay mount to /app/docker/overlay2/
02d63826c9092b7e4cdda75efd8869eba6731af7b111e426e5c142701f92215c/merged: invalid argument
Error: failed to start containers: mysql-server
解决办法
根据分析,发现是因为docker服务启动参数中需要开启--selinux-enabled
,但是当前系统的selinux状态为disabled
状态导致的。
尝试修改selinux配置,并重启操作系统,发现docker容器可以正常启动,处理流程如下:
处理流程
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e8f1e80103fc zabbix/zabbix-web-nginx-mysql:latest "" 7 weeks ago Exited (255) 4 days ago 8443/tcp, 0.0.0.0:80->8080/tcp zabbix-web-nginx-mysql
99a479f668c7 zabbix/zabbix-server-mysql:latest "/sbin/tini -- /us..." 7 weeks ago Exited (255) 4 days ago 0.0.0.0:10051->10051/tcp zabbix-server-mysql
a59415f51a45 mysql:latest "docker-entrypoint..." 7 weeks ago Exited (255) 4 days ago mysql-server
e76b22931504 zabbix/zabbix-java-gateway:latest "docker-entrypoint..." 7 weeks ago Exited (255) 4 days ago 10052/tcp zabbix-java-gateway
$ docker start mysql-server
Error response from daemon: error creating overlay mount to /app/docker/overlay2/02d63826c9092b7e4cdda75efd8869eba6731af7b111e426e5c142701f92215c/merged: invalid argument
Error: failed to start containers: mysql-server
# 检查docker-storage 存储配置
$ cat /etc/sysconfig/docker-storage
DOCKER_STORAGE_OPTIONS="--storage-driver overlay2 "
# 检查docker,已启用--selinux-enabled
$ cat /etc/sysconfig/docker|grep selinux
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'
# 检查selinux配置
$ getenforce
Disabled
# 修改selinux,更新状态为:Permissive
$ vi /etc/selinux/config
SELINUX=permissive
# 重启操作系统,使配置生效
$ reboot
# 再次检查docker,运行正常
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e8f1e80103fc zabbix/zabbix-web-nginx-mysql:latest "" 7 weeks ago Up 10 minutes 8443/tcp, 0.0.0.0:80->8080/tcp zabbix-web-nginx-mysql
99a479f668c7 zabbix/zabbix-server-mysql:latest "/sbin/tini -- /us..." 7 weeks ago Up 10 minutes 0.0.0.0:10051->10051/tcp zabbix-server-mysql
a59415f51a45 mysql:latest "docker-entrypoint..." 7 weeks ago Up 10 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-server
e76b22931504 zabbix/zabbix-java-gateway:latest "docker-entrypoint..." 7 weeks ago Up 10 minutes 10052/tcp zabbix-java-gateway