通过 docker 安装搭建 mysql、redis、mongo 等开发环境

使用 docker 安装开发环境软件,有方便多版本切换等好处,这里记录一些软件的安装配置记录。

常用配置

  • --restart=always 自动重启,有这个命令,每次启动 docker 或 OrbStack 时就会自动启动。如不需自动启动不用带这个指令。
  • -p 3306:3306 将本机 3306 映射到容器内的 3306 ,同一个软件如需多版本,为避免跟其他版本冲突,可修改冒号前面的本机端口号。
  • -p 3307:3306 比如 mysql 5 可以将本机 3307 映射到容器内的 3306,为避免跟 mysql 8 版本冲突。
  • -v mysql_8_data:/var/lib/mysql -v mysql_8_conf:/etc/mysql 创建两个数据卷,卷如果不存在,会随着容器自动创建。卷把数据保存到本机,卷保留但重新创建容器后数据仍会保留。

安装 mysql 8

拉取镜像、创建容器:

docker pull mysql:8.4.2
docker run -d --name mysql_8 -p 3306:3306 -v mysql_8_data:/var/lib/mysql -v mysql_8_conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.4.2

创建好后,即可使用 root 账号登录。

安装 mysql 5

拉取镜像、创建容器:

  • -v mysql_5_data:/var/lib/mysql -v mysql_6_conf:/etc/mysql 创建两个数据卷,卷如果不存在,会随着容器自动创建。卷把数据保存到本机,卷保留但重新创建容器后数据仍会保留。
docker pull mysql:5.7.16
docker run -d --name mysql_5 -p 3307:3306 -v mysql_5_data:/var/lib/mysql -v mysql_5_conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.16

创建好后,即可使用 root 账号登录。

使用 docker 中的 mysqldump

mysql 常使用 mysqldump 进行备份,可以使用容器内的 mysqldump 指令操作,将输出导入到本地文件内:

docker exec -it mysql_5 mysqldump --user=账号 --host=地址 --port=端口 --password=密码 数据库名  > 导出的本地备份文件路径.sql

安装 redis 7

需要先设置配置文件,所以先通过 OrbStack 去创建一个名为 redis_7_config 的 volume ,用于映射到容器内部的数据文件路径。或通过命令设置:

docker volume create redis_7_config

进入 redis_7_config 目录,创建 redis.conf 文件:

#开启持久化
appendonly yes
port 6379
# requirepass 1234
bind 0.0.0.0

创建容器:

docker pull redis:7.4.0
docker run -d --name redis_7 -p 6379:6379 -v redis_7_config:/etc/redis/config -v redis_7_data:/data redis:7.4.0 redis-server /etc/redis/config/redis.conf

安装 postgres 12

拉取镜像,创建容器:

docker pull postgres:12
docker run -d --name postgres_12 -p 5432:5432 -v postgres_12_data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=123456 postgres:12

创建好后,即可使用 postgres 账号登录。

安装 mongodb 7

拉取镜像,创建容器:

docker pull mongo:7.0.12
docker run -d --name mongo_7 -p 27017:27017 -v mongo_7_data:/data/db -v mongo_7_config:/data/configdb -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=123456 mongo:7.0.12

创建好后,即指定的 root 账号登录。

安装 nginx

拉取镜像,创建容器:

docker pull nginx
docker run -d --name=nginx -p 80:80 -v nginx_html:/usr/share/nginx/html -v nginx_config:/etc/nginx/conf.d nginx

打开 nginx_html 这个卷,即可管理里面的文件。