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

Persisting data in docker's volume for Oracle database

我创建了用于存储我的应用程序数据库数据的卷 - 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

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

如何获取有关应用程序后续请求的持久数据。

来自 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.

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