Docker启动MySql时Exited (1) 8 seconds ago或者Error response from daemon: Container xx is not running的解决方法

本文介绍了当使用Docker启动MySQL遇到容器未运行错误时的解决办法。通过调整挂载目录,特别是加入conf.d文件夹,成功解决了启动失败的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker启动MySql时Exited (1) 8 seconds ago或者Error response from daemon: Container xx is not running的解决方法

问题图片

在这里插入图片描述
输入命令,发现mysql驱动没有启动成功

docker ps -a

在这里插入图片描述

分析

这是我原本使用的命令,发现缺少了一些命令

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root  \
-d mysql:5.7

缺少了conf.d
在这里插入图片描述

解决

使用以下修正后的命令:

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root  \
-d mysql:5.7

成功进入
在这里插入图片描述

### Docker Daemon 错误分析 当遇到 `container is not running` 的错误,通常表明某个容器未能正常启动或者已经崩溃。以下是可能的原因以及解决方案: #### 1. 容器状态检查 可以使用以下命令来查看所有容器的状态: ```bash docker ps -a ``` 如果目标容器显示为 `Exited` 或者其他非运行状态,则说明该容器存在问题[^1]。 #### 2. 查看日志以定位问题 通过以下命令获取容器的日志信息,从而进一步诊断原因: ```bash docker logs <container_id> ``` 此操作可以帮助识别容器内部是否存在初始化失败或其他异常情况。 #### 3. 配置文件验证 确认 `entrypoint.sh` 脚本中的参数设置无误。例如,在脚本中指定的存储驱动程序 (`--storage-driver=vf`) 是否支持当前环境?VF 是 VirtualBox 使用的一种存储机制,而现代 Docker 更倾向于使用 overlay2 存储驱动。因此建议修改为如下形式并重新测试: ```sh #!/bin/sh dind docker daemon --host=unix:///var/run/docker.sock \ --host=tcp://0.0.0.0:2375 \ --storage-driver=overlay2 & docker build -t "$BUILD_IMAGE" . docker push "$BUILD_IMAGE" ``` #### 4. 检查 Docker 版本兼容性 对于基于 WSL2 的 Ubuntu 系统(如引用所描述),需确保安装的是最新版本的 Docker CE 并正确配置仓库地址[^2]。可以通过执行以下步骤更新至稳定版: ```bash sudo apt-get remove docker docker-engine docker.io containerd runc curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo systemctl start docker sudo systemctl enable docker ``` #### 5. 文件系统权限调整 有由于宿主机与虚拟机之间的共享目录权限不一致也会引发此类问题。尝试赋予 `/mnt/c/...` 下的相关路径适当读写权限给用户组: ```bash chmod -R ugo+rwx /mnt/c/Users/ chown -R $(whoami):$(whoami) /mnt/c/Users/ ``` #### 6. 升级或重装 Docker Desktop 针对特定操作系统版本下的桌面端应用失效状况,比如提到的 Ubuntu 22.04 和 WSL2 组合场景下[Docker Desktop 报错][^3]的情况,考虑卸载现有实例后再按照官方指南完成全新部署流程可能会有所帮助。 --- ### 总结 上述方法涵盖了从基础到高级层面解决container is not running” 这一常见问题的技术手段。实际运用过程中可根据具体情况逐一排查直至找到根本诱因为止。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值