修改docker数据存储目录及拉取镜像安装oracle19c

一、修改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登录数据库

相关推荐
prinrf('千寻)7 分钟前
nacos设置权重进行负载均衡不生效
运维·负载均衡
Lary_Rock21 分钟前
Android 编译问题 prebuilts/clang/host/linux-x86
android·linux·运维
绵绵细雨中的乡音34 分钟前
Linux进程学习【基本认知】
linux·运维·学习
matrixlzp1 小时前
K8S Service 原理、案例
云原生·容器·kubernetes
GnixAij2 小时前
Docker SSH端口转发
docker·ssh
珹洺2 小时前
Linux操作系统从入门到实战(三)Linux基础指令(上)
linux·运维·服务器
剁椒排骨2 小时前
win11什么都不动之后一段时间黑屏桌面无法显示,但鼠标仍可移动,得要熄屏之后才能进入的四种解决方法
运维·windows·经验分享·计算机外设·win11·win10
angushine2 小时前
让Docker端口映射受Firewall管理而非iptables
运维·docker·容器
归寻太乙2 小时前
Linux环境变量
linux·运维·服务器
m0Java门徒2 小时前
面向对象编程核心:封装、继承、多态与 static 关键字深度解析
java·运维·开发语言·intellij-idea·idea