docker容器启动失败(Error response from daemon: error creating overlay mount to /app/docker/overlay2/)

时间:2025-03-21 19:12:33

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