在 Mac 下利用 Docker 来避免繁琐的数据库安装过程,达到开箱即用的效果😚
目前还未设置持久化存储,仅供测试使用,持久化存储需添加卷。另 Docker 网络也未实现,不能容器互联
MySQL
- 安装连接 MySQL 的命令行客户端,这里使用的是
mysql-shell
brew cask install mysql-shell
- 获取 MySQL 的 Docker 镜像
docker pull mysql
- 启动 MySQL (长期使用删掉命令中的 --rm)
docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=haha -d -p 3306:3306 --rm mysql
参数说明:
1. --name: 设置容器名称为my-mysql
2. MYSQL_ROOT_PASSWORD=haha: 设置数据库的 Root 用户密码为haha
3. -d: 在后台运行
4. -p 3306:3306: 将容器的 3306 端口(后面那个)映射到本地主机即我们电脑的 3306 端口
5. --rm: 停止容器后立即删除容器
- 从命令行连接 MySQL 容器
mysqlsh
\sql # 切换到 SQL 模式,默认为 JS
\connect root@127.0.0.1:3306
- 输入刚刚设置的密码
haha
即可连接到数据库
- 也可以直接进入容器查看数据库,这样不需要安装 MySQL shell 客户端
docker exec -it <container id or container name> bash
- 进入 MySQL 交互式终端
mysql -u -p
- 停止容器
docker container stop <container id or name>
- 再次打开容器(不需要再设置相关内容,比如端口转发等)
docker start <container name or id>
MongoDB
- 获取镜像
docker pull mongo
- 启动服务
docker run --name my-mongo -d -p 27017:27017 mongo
- 进入容器
docker exec -it my-mongo bash
- 进入 Mongo 交互式终端
mongo
- 停止,重启等和 MySQL 一样
Redis
- 获取镜像
docker pull redis
- 启动服务
docker run -d -p 6379:6379 --name my-redis redis
- 进入容器
docker exec -it my-redis bash
- 进入 Redis 交互终端
redis-cli
- 停止容器,重启和另外二者一样
参考资料📓:
MySQL Docker 官方文档
MongoDB Docker 官方文档
Redis Docker 官方文档