前言
因为需要做一些不同类型的数据库功能验证,启动一个服务最方便的方式就是Docker容器了,不仅缺省许多复杂的配置,而且对本机没有什么侵入性,不用担心安装之后会在各个地方遗留一些安装痕迹,方便管理服务的运行状态,更方便卸载。
正文
MySQL
docker run --name=mysql81 --env=MYSQL_ROOT_PASSWORD=root --network=bridge -p 3306:3306 --restart=no --runtime=runc --detach=true mysql:8.1 mysqld
MYSQL_ROOT_PASSWORD 是 root 用户的密码
PostgreSQL
docker run --name=postgres --env=POSTGRES_PASSWORD=postgres --network=bridge -p 5432:5432 --restart=no --runtime=runc --detach=true postgres postgres
POSTGRES_PASSWORD 设置密码,用户名 postgres
StarRocks
docker run --name=starrocks --network=bridge --workdir=/data/deploy -p 8030:8030 -p 8040:8040 -p 9030:9030 --restart=no --runtime=runc --detach=true -t starrocks/allin1-ubuntu /bin/sh -c ./entrypoint.sh
直接用 root 用户连接,没有设置密码。JDBC 连接 9030 端口。
MS SQL Server
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=sql123@ms' -p 1433:1433 --name sqlserver -d mcr.microsoft.com/mssql/server:latest
用SA_PASSWORD设置密码,需要注意的是,SQL Server 有强密码要求,至少 8 位,包含字母、数字、符号。
Oracle
docker run -d --name oracle-db -p 1521:1521 -p 5500:5500 -e ORACLE_PDB=ORCLCDB -e ORACLE_SID=ORCL -e ORACLE_PWD=oracle container-registry.oracle.com/database/enterprise:21.3.0.0
ORACLE_PWD 是密码,默认用户名是 system
Oracle不是开源项目,因此,需要在官网登录授权。
首先访问镜像仓库页面,如果没有账户,需要注册账户。
然后进入数据库仓库,找到enterprise并点击后面的continue,会出现用户协议,同意之后才可以拉镜像。
完成上面步骤之后还需要在本地 docker 登录 oracle 仓库,输入命令: docker login container-registry.oracle.com
然后输入上面的 oracle 账户密码就可以拉镜像了。
达梦 8
docker run --name=dm8 --env=SYSDBA_PWD=SYSDBA001 --env=PAGE_SIZE=32 --env=CASE_SENSITIVE=0 --env=UNICODE_FLAG=1 --env=LENGTH_IN_CHAR=0 --env=BUFFER=1000 --env=MODE=dmsingle --env=INSTANCE_NAME=dm8_test --env=EXTENT_SIZE=16 --env=BLANK_PAD_MODE=0 --env=LOG_SIZE=1000 --env=LANG=en_US.UTF-8 -p 5236:5236 --restart=no -d laotie255/dameng_single:dm8_20241022_rev244896_x86_rh6_64
SYSDBA_PWD是密码,默认用户名是SYSDBA,官方镜像已经不开放下载,我把之前下载的一份官方单实例镜像发布在 dockerhub,使用上面的镜像名可以正常拉取。
注意
Docker 启动数据库用于测试验证非常方便,但是本文推荐的启动方法不可以放在生产环境使用,会有重大数据丢失的风险。