我创建了用于存储应用程序数据库数据的卷 - 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
在数据库中存储了一些条目。停止并删除容器然后再次启动它,但数据库中没有数据。
如何获取后续申请请求的持久数据。
答案 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)