Docker中Mysql容器启动

本文介绍了如何在Docker中启动MySQL容器,包括下拉镜像、查看镜像、后台运行容器,并详细说明了如何通过挂载路径实现数据持久化,以防止数据丢失。此外,还提到了如何配置my.cnf文件以及如何使用可视化工具连接MySQL进行测试。

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

一 下拉镜像

docker pull mysql:5.7

docker images查看镜像

二 运行镜像

1 运行镜像,如果不挂载路径运行执行以下就可以

docker run -id --name mysql  -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

-i:表示创建并运行容器

-d:表示后台运行

-p:映射端口,相对于访问宿主机ip:3306 就是访问的mysql容器

-e:配置mysql,这里设置了一下root密码,当然也可以也又其它设置选项,在这没用到

mysql:5.7:镜像名和版本,如果这个镜像不存在会自动下载镜像

2.挂载路径

挂载路径的好处一是方便我们修改和查看,比如修改mysql配置文件my.cnf,不挂载的话需要进入容器然后在修改,my.cnf挂载出来后可以直接在宿主机查看,日志文件也是同样的,第二个好处是防止暑假丢失,如果容器不小心停止删除了数据库中的所有数据就丢失了。

docker run  -id --name mysql 
-v /docker/mysql/log/:/var/log  
-v /docker/mysql/data/:/var/lib/mysql  
-v /docker/mysql/my.cnf:/etc/my.cnf 
-p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

用了三个-v,分别挂载出来日志 mysql数据和my.cnf,-v 宿主机文件 容器中文件

直接运行上面命令可能启动失败,需要在宿主机中先创建一个my.cnf,即在宿主机docker/mysql中床新建一个文件my.cnf文

### Docker 容器启动失败的常见原因及解决方案 #### 1. 没有持续运行的应用 当容器内没有前台进程保持活动状态时,Docker 容器会自动退出。这通常发生在命令执行完毕或应用程序进入后台模式的情况下[^1]。 ```bash # 使用 tail -f /dev/null 来让容器保持运行 docker run -dit --name my_container ubuntu tail -f /dev/null ``` #### 2. Docker 守护进程未运行 如果 Docker 守护进程 (Docker daemon) 没有正常工作,则任何尝试创建新容器的操作都会失败。可以通过检查服务状态来确认这一点[^2]。 ```bash systemctl status docker ``` #### 3. 镜像文件问题 损坏或缺失的镜像可能导致容器无法成功初始化。确保使用的镜像是完整的,并且来自可信源。 ```bash # 列出本地所有镜像并验证其完整性 docker images ls ``` #### 4. 配置文件错误 不正确的 `daemon.json` 或其他配置项可能会阻止容器按预期方式启动。仔细审查这些设置以排除潜在冲突。 #### 5. 系统资源不足 主机上的 CPU 和 RAM 资源不足以支持所请求的任务也会引起此类问题。监控系统性能指标可以帮助诊断这类情况。 ```bash free -m # 查看内存使用情况 top # 实时查看CPU和内存占用 ``` #### 6. 网络连接异常 对于那些依赖外部网络访问的服务来说,不良的联网状况同样会造成影响。测试连通性和调整防火墙规则有助于缓解此难题。 ```bash ping google.com # 测试互联网连接 iptables -L # 显示当前iptables规则链表 ``` #### 7. 特定案例处理 针对某些特定场景下的故障排查,比如 Nginx 的部署可以采用简化版实例先行的方式来进行调试[^5]: ```bash docker run --name simple_nginx -d -p 8080:80 nginx ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值