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

相关推荐
码龄3年 审核中10 小时前
说说SSH的端口转发
大数据·运维·ssh
盛世隐者10 小时前
【Linux】定制Linux系统
linux·运维·服务器
行思理11 小时前
Docker 应该如何学习 分四个阶段
学习·docker·容器
..Move...12 小时前
Docker应用部署tomcat和nginx
nginx·docker·tomcat
Lxt.星翊13 小时前
MySQL(安装和卸载、数据库存储原理图)
linux·运维·windows
苹果醋313 小时前
JAVA面试汇总(二)多线程(五)
运维·vue.js·spring boot·nginx·课程设计
JustNow_Man13 小时前
Cline中模型识别任务与clinerules相关性的实现逻辑
linux·运维·ubuntu
小白银子13 小时前
零基础从头教学Linux(Day 56)
linux·运维·python
你想考研啊14 小时前
Linux下搭建Activemq的Master-Slave(共享文件模式)
linux·运维·activemq
Teamhelper_AR14 小时前
AR巡检系统:打开工业智能运维的下一幕
运维·ar