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

相关推荐
小白跃升坊6 小时前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
杨江7 小时前
seafile docker安装说明
运维
好好沉淀7 小时前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng7 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.7 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
树℡独7 小时前
ns-3仿真之应用层(三)
运维·服务器·ns3
VekiSon7 小时前
Linux内核驱动——基础概念与开发环境搭建
linux·运维·服务器·c语言·arm开发
禅口魔心8 小时前
Win10 + WSL2 + Docker:K510(DongshanPI-Vision)开发环境从踩坑到跑通全记录(交叉编译 + 上板运行)
docker·嵌入式开发·wsl2·k510
Ankie Wan8 小时前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc
skywalk81638 小时前
尝试在openi启智社区的dcu环境安装ollama最新版0.15.2(失败)
linux·运维·服务器·ollama