将数据保存在Docker的Oracle数据库卷中

时间:2017-12-07 14:39:41

标签: docker oracle11g persistence volume

我创建了用于存储应用程序数据库数据的卷 - docker volume create dbvolume

然后我用Oracle XE 11g数据库映像和数据卷启动了我的docker容器。

docker run --name=OracleXE --shm-size=1g -p 1521:1521 -p 8080:8080 -e ORACLE_PWD=weblogic1 -v dbvolume:/opt/oracle/oradata oracle/database:11.2.0.2-xe

在数据库中存储了一些条目。停止并删除容器然后再次启动它,但数据库中没有数据。

如何获取后续申请请求的持久数据。

2 个答案:

答案 0 :(得分:2)

来自https://github.com/oracle/docker-images/tree/master/OracleDatabase

-v /opt/oracle/oradata
              The data volume to use for the database.
              Has to be writable by the Unix "oracle" (uid: 54321) user inside the container!
              If omitted the database will not be persisted over container recreation.

答案 1 :(得分:0)

接受的答案对于 Oracle 11g XE 不正确,这是在这个问题中提出的。
“/u01/app/oracle”应该映射到一个卷(例如 -v dbvolume:/u01/app/oracle)