还在为测试环境搭数据库折腾半天? 今天给大家带来一套 开箱即用的方案,专门面向需要快速搭建 OMS / ODC 等数据源的同学, MySQL 8.0.26 + Oracle 11g 双库配齐,复制命令直接跑。
本方案适用于:快速搭建测试数据库(如OMS/ODC数据源)
镜像仓库地址:https://docker.aityp.com/
一、MySQL容器部署:
1. 镜像拉取与重命名
从镜像仓库拉取镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/gcr.io/ml-pipeline/mysql:8.0.26
2.重命名为标准镜像名
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/gcr.io/ml-pipeline/mysql:8.0.26 gcr.io/ml-pipeline/mysql:8.0.26
3.容器启动
docker run -d \
--name mysql \
-e MYSQL_ROOT_PASSWORD= \
# 替换为实际密码
-e MYSQL_DATABASE=test_db \
-p 3306:3306 \
-v mysql-data:/var/lib/mysql \
gcr.io/ml-pipeline/mysql:8.0.26
进入容器终端
docker
exec -it mysql /bin/bash
使用MySQL
4.登录MySQL(密码需与启动时一致)
mysql -uroot -p
5.解决认证错误
若ODC/OMS报错
Public Key Retrieval is not allowed,登录root用户执行以下命令:
ALTER USER
'root'@
'%' IDENTIFIED WITH
'mysql_native_password' BY
'';
FLUSH PRIVILEGES;
替代方案:
在连接字符串中添加参数
allowPublicKeyRetrieval=true(仅限测试环境)。
二、Oracle容器部署:
1. 镜像拉取与重命名
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/akaiot/oracle_11g:latest
2.重命名为标准镜像名
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/akaiot/oracle_11g:latest docker.io/akaiot/oracle_11g:latest
3.创建挂载目录
mkdir -p /mydata/oracle11g/app
mkdir -p /mydata/oracle11g/dpdump
mkdir -p /mydata/oracle11g/oraInventory
chmod 777 /mydata/oracle11g
4.容器启动
docker run -itd --name oracle11g \
--privileged=
true \
--restart=always \
-p 1521:1521 \
-v /mydata/oracle11g/app:/opt/oracle/app \
-v /mydata/oracle11g/dpdump:/opt/oracle/dpdump \
-v /mydata/oracle11g/oraInventory:/opt/oracle/oraInventory swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/akaiot/oracle_11g
Tip:如果不想挂载目录的话可以使用下面的启动命令
docker run -itd --name oracle11g \
--privileged=
true \
--restart=always \
-p 1521:1521 \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/akaiot/oracle_11g
5.使用Oracle
docker
exec -it oracle11g /bin/bash
切换root,密码helowin
su root
切换oracle
su - oracle
使用 sqlplus 连接数据库 sqlplus /nolog
使用sysdba连接 SQL> conn /as sysdba;
修改 system 密码
alter user system identified by 123456;
修改密码有效期
alter profile default
limit PASSWORD_LIFE_TIME UNLIMITED;
查看当前用户 show user;
退出 sqlplus exit
查看数据库服务状态 lsnrctl status
退出容器 exit
以上就是MySQL 8.0.26 + Oracle 11g 双库 Docker 完整部署流程,如果你在部署中遇到认证报错、容器启动失败等问题,可以在评论区留言。
欢迎 关注、 点赞、转发 ,后续我们会持续分享更多实用技术干货,更多技术分享可扫码关注查看, 下次见~

