在vscode中使用docker连接数据库mysql
·
使用 Docker 连接数据库的完整指南
安装 Docker 和必要工具
确保 Docker 已安装并运行。安装后验证 Docker 是否正常运行:
docker -v
docker-compose -v
拉取数据库镜像
从 Docker Hub 获取所需的数据库镜像。例如 MySQL:
docker pull mysql:latest
其他常见数据库镜像命令:
- PostgreSQL:
docker pull postgres - MongoDB:
docker pull mongo - Redis:
docker pull redis
运行数据库容器
通过环境变量配置数据库。以 MySQL 为例:
docker run --name mysql_db \
-e MYSQL_ROOT_PASSWORD=yourpassword \
-e MYSQL_DATABASE=testdb \
-e MYSQL_USER=user \
-e MYSQL_PASSWORD=userpass \
-p 3306:3306 \
-d mysql:latest
参数说明:
--name指定容器名称-e设置环境变量(密码、数据库名等)-p映射主机端口到容器端口-d后台运行
验证容器状态
检查容器是否正常运行:
docker ps
查看日志以排查问题:
docker logs mysql_db
连接数据库
从主机连接容器内的数据库。以 MySQL 为例:
mysql -h 127.0.0.1 -P 3306 -u root -p
输入配置的密码即可访问。
对于应用连接,使用以下连接字符串格式(以 MySQL 为例):
jdbc:mysql://localhost:3306/testdb?user=user&password=userpass
持久化数据存储
默认情况下容器停止后数据会丢失。通过卷挂载实现持久化:
docker run --name mysql_db \
-v /path/on/host:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=yourpassword \
-d mysql:latest
使用 Docker Compose 管理
创建 docker-compose.yml 文件简化管理:
version: '3'
services:
db:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: yourpassword
MYSQL_DATABASE: testdb
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
启动服务:
docker-compose up -d
网络配置
自定义网络改善容器间通信:
docker network create app_network
docker run --name mysql_db --network app_network -d mysql
其他容器可通过容器名(如 mysql_db)直接访问数据库。
更多推荐


所有评论(0)