首先安装docker,去官网找各系统安装的命令(尽量装20以后的)。这里是docker24.06。然后配置下docker的镜像源和存储路径,修改/etc/docker/daemon.json,没有这个文件则新建。
data-root是指定docker的存储路径,一般不用改这个,除非是根目录挂载的空间不够,需要切换到其他挂载的盘。
registry-mirrors是镜像源地址,建议配置腾讯云和阿里云,加快访问速度。
执行docker命令时需要从普通用户提升至root,sudo su
{"data-root": "/harddisk3/docker_data","registry-mirrors":["https://ccr.ccs.tencentyun.com","https://mirror.baidubce.com"]
}
Microsoft SQL Server
这里安装sqlserver2019最新的,sa账户密码用环境变量MSSQL_SA_PASSWORD指定
docker pull mcr.microsoft.com/mssql/server:2019-latestdocker run --name mssql1 --hostname mssql1 -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=Aa123456?' -p 1433:1433 -v mssql1_data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest#查看日志
docker logs -f sql1
#命令行连接
sudo docker exec -it sql1 bash
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Aa123456?"
Mysql
这里安装Mysql8.0.34,root密码用环境变量MYSQL_ROOT_PASSWORD指定,字符集设置为utf8mb4。
docker pull mysql:8.0.34docker run --name mysql1 --hostname mysql1 \
-v mysql1_log:/var/log/mysql \
-v mysql1_data:/var/lib/mysql \
-v mysql1_conf:/etc/mysql/conf.d \
-p 3306:3306 -e MYSQL_ROOT_PASSWORD=Aa123456? -d mysql:8.0.34 --init-connect="SET collation_connection=utf8mb4_0900_ai_ci" --init-connect="SET NAMES utf8mb4" --skip-character-set-client-handshake#如果客户端连接报错,先修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Aa123456?';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Aa123456?';
FLUSH PRIVILEGES;
如果需要禁止root远程登录
use mysql;
delete from user where user = "root" and host = "%";
Oracle
这里安装Oracle19c,5500是web可视化界面,oracle密码是aaaaaa
docker pull registry.cn-hangzhou.aliyuncs.com/it-boy/oracle19cdocker run -d --name oracle19c1 \-e ORACLE_SID=ORCL \-e ORACLE_PDB=TEST \-e ORACLE_PWD=aaaaaa \-e ORACLE_EDITION=standard \-p 1521:1521 -p 5500:5500 \-v oracle_data:/opt/oracle/oradata \
registry.cn-hangzhou.aliyuncs.com/it-boy/oracle19c:latest
# 命令行登录
sqlplus / as sysdba
PostgresSql
这里安装postgres12.3,postgres账户密码用POSTGRES_PASSWORD指定,默认数据库为postgres。
docker pull postgres:12.3
docker run --name pg12_1 --hostname pg12_1 \
-e POSTGRES_PASSWORD=Aa123456? \
-p 5432:5432 \
-v pg1_data:/var/lib/postgresql/data \
-d postgres:12.3
达梦dm8
先从达梦官网下载最新的镜像,试用期为一年,到期后每次重启数据库服务可以延长两星期。镜像拷到服务器上,执行以下命令:
docker load -i dm8_20230808_rev197096_x86_rh6_64_single.tar
docker run -d -p 5236:5236 --restart=always \
--name dm8_1 \
--hostname dm8_1 \
--privileged=true \
-e PAGE_SIZE=16 \
-e LD_LIBRARY_PATH=/opt/dmdbms/bin \
-e EXTENT_SIZE=32 \
-e BLANK_PAD_MODE=1 \
-e LOG_SIZE=1024 \
-e UNICODE_FLAG=1 \
-e LENGTH_IN_CHAR=1 \
-e INSTANCE_NAME=dm8_1 \
-v dm8_1_data:/opt/dmdbms/data \
dm8_single:dm8_20230808_rev197096_x86_rh6_64
端口:5236,用户名:SYSDBA,密码:SYSDBA001。查看授权日期的语句:
select EXPIRED_DATE from v$license
人大金仓kingbase
版本为kingbaseV8R3开发版,端口:54321,用户名:SYSTEM,密码:123456,数据库(TEST)。
# 新建kingbase用户(可选,不建则容器卷给所有权限)
docker pull godmeowicesun/kingbase
docker run -d -it --privileged=true \
-p 54321:54321 \
-v kingbase1_data:/opt \
--name kingbase1 \
--hostname \
kingbase1 godmeowicesun/kingbase# 查看容器卷位置
docker inspect kingbase1_data
# 位置为/harddisk3/docker_data/volumes/kingbase1_data/_data# 下载版权文件license_27148_0.dat 拷贝到/harddisk3/docker_data/volumes/kingbase1_data/_data/license/
chmod 777 -R /harddisk3/docker_data/volumes/kingbase1_data/# 修改最大连接数10改成100,不然起不来,修改容器卷data/kingbase.conf
#max_connections = 10 # (change requires restart)
#superuser_reserved_connections = 5 # (change requires restart)
#super_manager_reserved_connections = 3# 容器内部启动服务
/home/kingbase/ES/V8/Server/bin/sys_ctl -D /opt/data/db-default -l logfile start
瀚高highgo
版本为highgo4.5.8安全版,端口:5866,用户名:sysdba,密码:Aa123456@,数据库(highgo),实际加密配置可以参照瀚高官网。
docker pull qiuchenjun/hgdb-see
# 打个tag
docker tag qiuchenjun/hgdb-see qiuchenjun/hgdb-see:4.5.8docker run -d -it --name=highgov4_1 --hostname highgov4_1 \
-p 5866:5866 \
-v highgov4_data:/home/highgo/hgdb \
-e TZ="Asia/Shanghai" \
-e LANG="en_US.utf8" \
-e POSTGRES_HOST_AUTH_METHOD="sm3" \
-e POSTGRES_PASSWORD="Aa123456@" \
-e POSTGRES_INITDB_ARGS="-e sm4 -c 'echo 12345678' -E 'UTF8'" \
qiuchenjun/hgdb-see:4.5.8
以上端口注意防火墙开放,仅供开发测试使用,生产环境根据需要修改配置。