Docker Oracle11g 数据持久化存储

1. 使用docker hub上面的已经构建好的oracle 11g 镜像,任意选择一个

拉取镜像:

sudo docker pull rohitbasu77/oracle11g

2. 启动容器:

sudo docker run -d --name oracle11g -p 40022:22 -p 41521:1521 -p 48080:8080 rohitbasu77/oracle11g:latest

执行完数据,oracle 11g 镜像就已经启动起来了,但是目前数据并没有持久化存储到本地。

3. oracle 默认存放数据库文件路径

/u01/app/oracle 我们需要把容器中这个路径下的文件拷贝到系统任意指定的目录下用于持久化存储数据。

4. 拷贝数据

sudo docker cp xxx:/u01/app/oracle /opt/

xxx 代表容器名称或者容器ID,会把容器中oracle 存放的内容拷贝到系统中,/opt/ 下目录结构

5. 删除容器

6. 重新启动容器

sudo docker run -d -p 1521:1521  -p 40022:22  -p 48080:8080 --name oracle11g 
    -v /opt/oracle:/u01/app/oracle 
    rohitbasu77/oracle11g:latest

使用-v 参数挂载系统目录到容器中.

Done

切记切记,不要再ubuntu18.04 上直接安装 oracle 11g 或者 oracle 12c ,都是血泪。如果要在物理机上直接安装还是用centos 7.7 或者 7.8 实际测试OK。 另外能不用oracle 就不要用oracle 了。

经验分享 程序员 微信小程序 职场和发展