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

相关推荐
Linux运维技术栈10 分钟前
Ansible(自动化运维)环境搭建及ansible-vault加密配置
运维·自动化·ansible
Bessssss1 小时前
centos权限大集合,覆盖多种权限类型,解惑权限后有“. + t s”问题!
linux·运维·centos
苹果醋32 小时前
Golang的文件加密工具
运维·vue.js·spring boot·nginx·课程设计
jwensh2 小时前
【Jenkins】Declarative和Scripted两种脚本模式有什么具体的区别
运维·前端·jenkins
豆豆豆豆变3 小时前
Docker轻量级可视化工具Portainer
docker·容器·自动化运维
花晓木3 小时前
k8s etcd 数据损坏处理方式
容器·kubernetes·etcd
运维&陈同学3 小时前
【模块一】kubernetes容器编排进阶实战之基于velero及minio实现etcd数据备份与恢复
数据库·后端·云原生·容器·kubernetes·etcd·minio·velero
花晓木3 小时前
k8s备份 ETCD , 使用velero工具进行备份
容器·kubernetes·etcd
大熊程序猿3 小时前
xxl-job docker 安装
运维·docker·容器
董健正3 小时前
centos制作离线安装包
linux·运维·centos