部署 MySQL
1.创建默认的配置文件和数据
sh
mkdir mysql_data # 数据文件目录
mkdir mysql_init # 初始化脚本文件目录
mkdir mysql_conf # 配置文件目录
docker pull mysql:8 # 拉取镜像
2.docker-compose.yaml 和配置文件内容
yaml
services:
mysql_server:
image: mysql:8
container_name: mysql_server
restart: always
ports:
- 3306:3306
environment:
MYSQL_DATABASE: demo
MYSQL_USER: dev
MYSQL_PASSWORD: dev123456
MYSQL_ROOT_PASSWORD: root123456
volumes:
- ./mysql_conf:/etc/mysql/conf.d
- ./mysql_init:/docker-entrypoint-initdb.d
- ./mysql_data:/var/lib/mysql
部署 postgres
1.创建挂载目录和初始化文件目录
注: postgres
的配置文件在 ./postgres_data/
目录下的: postgresql.conf
pg_hba.conf
pg_ident.conf
sh
# 创建初始化挂载目录 & 获取默认的配置文件 & 拉取镜像
mkdir ./pgsql_data ./pgsql_init
docker pull postgres:15
2.docker-compose.yaml
yaml
services:
postgres_server:
image: postgres:15
restart: always
container_name: pgsql15
environment:
POSTGRES_PASSWORD: root123456 # 密码(注意修改)
# POSTGRES_USER: root # 用户(默认:postgres)
# POSTGRES_DB: root # 数据库名(默认使用 POSTGRES_USER 的值)
ports:
- 5432:5432
volumes:
- ./pgsql_data:/var/lib/postgresql/data
- ./pgsql_init:/docker-entrypoint-initdb.d/
部署 redis
1.获取默认配置文件
sh
mkdir ./redis_data ./redis_conf
touch ./redis_conf/redis.conf
# 注意 redis.conf 文件需要手动创建
docker pull redis:8
2.修改配置文件, 允许远程连接
主要修改 3 个选项:
bind
的值修改为0.0.0.0
或者直接注释也可以protected-mode
的值修改为no
关闭保护模式, 允许远程链接requirepass
的值修改为your_password
远程连接需要的密码,可以是其他值,默认是注释的,需要手动取消注释
3.docker-compose.yaml 和配置文件内容
yaml
services:
redis_server:
image: redis:8
restart: always
container_name: redis_server
ports:
- 6379:6379
volumes:
- ./redis_conf:/etc/reids
- ./redis_data:/data
ini
bind 0.0.0.0
protected-mode no
requirepass your_password
部署 mongodb
1.创建配置文件和初始化脚本
sh
mkdir mongo_conf mongo_data mongo_init
# 手动创建 mongod.conf
touch ./mongo_conf/mongod.conf
docker pull mongo:8
2.docker-compose.yaml
yaml
services:
mongo_server:
image: mongo:8
restart: always
container_name: mongo_server
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root123456 # root 密码
MONGO_INITDB_DATABASE: demo # 初始数据库名称
ports:
- 27017:27017
volumes:
- ./mongo_conf/mongod.conf:/etc/mongod.conf
- ./mongo_data:/data/db
- ./mongo_init:/docker-entrypoint-initdb.d/
yaml
# http://docs.mongodb.org/manual/reference/configuration-options/
# 允许远程链接
net:
port: 27017
bindIp: 0.0.0.0 # default: 127.0.0.1