Docker实践:部署Mysql
目录准备
目录结构:
─/home/mysql ├── conf.d └── my.cnf ├── data ├── start.sh
my.cnf:mysql配置文件
[client] default-character-set=utf8 [mysqld] character-set-server=utf8 performance_schema = OFF [mysql] no-auto-rehash default-character-set=utf8
start.sh:创建容器的脚本
#!/bin/bash echo "create a mysql container.." docker run -d --name mysql \ -v $(pwd)/conf.d:/etc/mysql/conf.d \ -v $(pwd)/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD="123456" \ -e MYSQL_DATABASE="test_bd" \ -p 3307:3306 \ mysql:5.7.19 \ --character-set-server=utf8 --collation-server=utf8_general_ci
简单说明:docker run 为运行容器的命令,若本地仓库不存在mysql:5.7.19的镜像则自动从DockerHub pull下来。
参数:
-d:后台运行
-v, 挂载配置文件与数据卷
-e, 指定mysql的root用户密码,并指定创建的数据库名,且设置为环境变量
-p, 映射容器端口给宿主机端口
快速开始
在mysql目录下给脚本添加可执行权限,并运行脚本:
chmod +x start.sh
./start.sh
查看运行的容器:
docker ps
现在看看mysql容器是否正确运行
docker exec -it mysql bash
首先docker run创建时,写入的环境变量MYSQL_DATABASE会由mysql镜像处理,创建database。
我们在容器中使用env查看环境变量时,docker run指定的两个环境变量也被写入。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2019-09-26 linux下Django Nginx+uwsgi 安装配置
2019-09-26 python使用openpyxl操作execl