1. 使用docker hub上面的已经构建好的oracle 11g 镜像,任意选择一个
https://hub.docker.com/r/rohitbasu77/oracle11g
拉取镜像:
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 了。