用Docker配置数据库,无论是做开发,还是做生产部署,都非常的方便
它不需要单独安装数据库,也不用担心出现各种环境的配置问题。
本文将分享用Docker配置数据库的步骤,这里用MySQL举例。
其他的数据库如MSSQL,又或者redis等关系型数据库,同理。
1. 首先安装Docker desktop。在官网下载安装就行了,非常简单
2. 添加registry镜像 (不然可能无法从Docker Hub拉取数据库镜像)
两种方法,一种是打开Docker desktop。
找到Extensions右边的三个点,点击后选择"Setting"
选择“Docker Engine”,在右边的文本框里加入
//添加registry镜像
//示例中的镜像,截止到2024/9/30可用
"registry-mirrors": ["https://docker.1panel.live","https://hub.rat.dev/","https://docker.chenby.cn","https://docker.m.daocloud.io"]
点击右下角"Apply & restart"
第二种方法,打开 C:\用户\{你的用户名}\.docker\daemon.json,直接添加到文件里就行了
3. 命令行拉取MySql镜像
$ docker pull mysql:5 //如果想要最新版就用mysql:latest,我这里是指定的Mysql5
然后等待拉取完成:
Docker Desktop的Images界面,就会多一个MySQL 5的镜像
4 .回到命令行,运行MySQL容器
$ docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:5
--name mysql-container 指定容器名称,可以根据需要修改。
-e MYSQL_ROOT_PASSWORD=root 设置根用户的密码为 root,你可以根据需要更改密码。
-d 是表示后台运行。
-p 3306:3306 将容器的 3306 端口映射到主机的 3306 端口
成功后会返回一长串由英文和数字组合起来的字符串,这是容器ID
. Docker Desktop的Containers界面可以查看到容器的详细情况
或者使用命令
$ docker ps
5. 用客户端工具连接MySQL (这里用DBeaver),开始愉快的coding吧
6. 也可以用命令行连接
docker exec -it mysql-container mysql -uroot -proot //-proot 记得把root替换成你自己设置的密码
7 . (可选)数据持久化,为了确保数据在容器重启后不会丢失,可以使用 Docker 数据卷。运行 MySQL 容器时,可以添加一个卷:
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 -v mysql-data:/var/lib/mysql mysql:5
这会将 MySQL 数据存储在 Docker 管理的卷 mysql-data 中
8. 停止并删除容器 (如果需要的话)
docker stop mysql-container
docker rm mysql-container