Docker 安装各种数据库
一次安装多个常用数据库
mysql-8.1
mysql-5.7
mssql-2022
mssql-2019
mssql-2017
postgres-15.4
不需要安装的在前面#注释 例如
# mssql-2022:
# restart: always
# container_name: mssql-2022
# network_mode: bridge
# user: root
# volumes:
# - './mssql-2022:/var/opt/mssql'
# ports:
# - '3597:1433'
# environment:
# - TZ=Asia/Shanghai
# - ACCEPT_EULA=Y
# - SA_PASSWORD=123456
# - MSSQL_LCID=2052
# - MSSQL_COLLATION=Chinese_PRC_CI_AS
# image: 'mcr.microsoft.com/mssql/server:2022-latest'
完整安装 compose 文件,密码都是写了 123456,注意修改,挂载目录都是挂载在当前目录下
version: '3.3'
services:
mysql-8.1:
restart: always
container_name: mysql-8.1
network_mode: bridge
volumes:
- './mysql-8.1/mysql.cnf:/etc/mysql/conf.d/mysql.cnf:rw'
- './mysql-8.1/data:/var/lib/mysql/:rw'
- './mysql-8.1/logs:/var/log/mysql/:rw'
- './mysql-8.1/mysqlBackup:/data/mysqlBackup'
ports:
- '3599:3306'
command:
- --default-authentication-plugin=caching_sha2_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
environment:
- TZ=Asia/Shanghai
- MYSQL_ROOT_HOST=%
- MYSQL_ROOT_PASSWORD=123456
image: 'mysql:8.1.0'
mysql-5.7:
restart: always
container_name: mysql-5.7
network_mode: bridge
volumes:
#- './mysql-5.7/mysql.cnf:/etc/mysql/conf.d/mysql.cnf:rw'
- './mysql-5.7/data:/var/lib/mysql/:rw'
- './mysql-5.7/logs:/var/log/mysql/:rw'
- './mysql-5.7/mysqlBackup:/data/mysqlBackup'
ports:
- '3598:3306'
command:
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
environment:
- TZ=Asia/Shanghai
- MYSQL_ROOT_HOST=%
- MYSQL_ROOT_PASSWORD=123456
image: 'mysql:5.7'
mssql-2022:
restart: always
container_name: mssql-2022
network_mode: bridge
user: root
volumes:
- './mssql-2022:/var/opt/mssql'
ports:
- '3597:1433'
environment:
- TZ=Asia/Shanghai
- ACCEPT_EULA=Y
- SA_PASSWORD=123456
- MSSQL_LCID=2052
- MSSQL_COLLATION=Chinese_PRC_CI_AS
image: 'mcr.microsoft.com/mssql/server:2022-latest'
mssql-2019:
restart: always
container_name: mssql-2019
network_mode: bridge
user: root
volumes:
- './mssql-2019:/var/opt/mssql'
ports:
- '3596:1433'
environment:
- TZ=Asia/Shanghai
- ACCEPT_EULA=Y
- SA_PASSWORD=123456
- MSSQL_LCID=2052
- MSSQL_COLLATION=Chinese_PRC_CI_AS
image: 'mcr.microsoft.com/mssql/server:2019-latest'
mssql-2017:
restart: always
container_name: mssql-2017
network_mode: bridge
volumes:
- './mssql-2017:/var/opt/mssql'
ports:
- '3595:1433'
environment:
- TZ=Asia/Shanghai
- ACCEPT_EULA=Y
- SA_PASSWORD=123456
- MSSQL_LCID=2052
- MSSQL_COLLATION=Chinese_PRC_CI_AS
image: 'mcr.microsoft.com/mssql/server:2017-latest'
postgres-15.4:
restart: always
container_name: postgres-15.4
network_mode: bridge
volumes:
- './postgres-15.4/data:/var/lib/postgresql/data'
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
ports:
- '3594:5432'
environment:
- TZ=Asia/Shanghai
- POSTGRES_PASSWORD=123456
- ALLOW_IP_RANGE=0.0.0.0/0
image: 'postgres:15.4'
2