一、修改docker数据目录,默认安装路径为/var/lib/docker
查看docker主路径
bash
docker info |grep "Docker Root Dir"
1.停服务
bash
systemctl stop docker
2.新建目录并授权
bash
mkdir /data/docker -p
chown -R root:docker /data/docker/
3.修改配置文件
原有{}内添加如下行
bash
vi /etc/docker/daemon.json
{
"graph": "/data/docker"
}
4.起服务查看路径
bash
systemctl start docker
docker info |grep "Docker Root Dir"
部署oracle19c
二、通过docker容器部署oracle19c
5.拉取oracle19c的镜像
bash
docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
6.新建主机上的目录
bash
mkdir -p /data/docker/oracle19c/oradata
chmod 777 /data/docker/oracle19c/oradata
7.构建容器并启动
bash
docker run -d -p 1521:1521 -p 1688:1688 -e ORACLE_SID=lcims80 -e ORACLE_PDB=ORCLPDB -e ORACLE_PWD=oracle -e ORACLE_EDITION=standard -e ORACLE_CHARACTERSET=AL32UTF8 -v /data/docker/oracle19c/oradata:/opt/oracle/oradata --name oracle_19c registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
8.构建容器命令解释
css
docker run: 运行 Docker 容器的命令。
-d: 指定容器在后台运行(detached mode)。
-p 1521:1521: 将容器的 1521 端口映射到主机的 1521 端口,Oracle 数据库监听端口。
-p 1688:1688: 将容器的 1688 端口映射到主机的 1688 端口,用于访问的端口。
-e ORACLE_SID=ORCLCDB: Oracle 实例的 SID。
-e ORACLE_PDB=ORCLPDB: 设置 Oracle PDB。
-e ORACLE_PWD=oracle: 设置 Oracle 系统用户 SYS 和 SYSTEM 的初始密码为 oracle。
-e ORACLE_EDITION=standard: 设置 Oracle 的版本为标准版(standard)。
-e ORACLE_CHARACTERSET=AL32UTF8: 设置 Oracle 数据库的字符集为 AL32UTF8,即 Unicode 字符集。
-v /data/docker/oracle19c/oradata:/opt/oracle/oradata/: 将主机上的 /data/docker/oracle19c/oradata 目录挂载到容器内的 /opt/oracle/oradata/ 目录,用于持久化存储数据库文件。
--name oracle_19c: 指定容器的名称为 oracle_19c。
9.容器中oracle_19c已在运行
10.查看容器构建的日志
bash
docker logs -ft oracle_19c
此过程预计20分钟,我这是本地虚拟机,具体在服务器性能
11.登录oracle容器
bash
[root@localhost oradata]# docker exec -it oracle_19c /bin/bash
[oracle@9c50064104f3 ~]$ ##此时已进入容器,主机名处为容器id
进入容器后可直接sqlplus登录数据库