docker中的Oraclexe11g,在ubuntu上重新启动docker后创建的用户丢失



我已经在Ubuntu 21.10上安装了docker,并遵循官方我提取的指令oracle11gxe图像:

docker pull oracleinanutshell/oracle-xe-11g

然后我开始了图像:

docker run -d -p 49161:1521 -p 8080:8080 oracleinanutshell/oracle-xe-11g

并使用Oracle SQL Developer我连接为SYSTEM并创建了一个标准用户,授予适当的权限(创建/删除表、序列等(。

然后,我以标准用户的身份连接,并开始创建和填充一些表。

但是,当停止docker映像并重新启动它时,用户和所有表都丢失了。可以采取什么措施来解决这个问题?

非常感谢!

您需要创建一个卷来保留持久数据。此外,一旦你开始处理这些事情。最好使用docker compose处理。

使用docker的选项1

首先创建卷:

docker volume create db-vol

然后使用此命令连接存储数据的卷:

docker run -d -p 49161:1521 -p 8080:8080 -v db-vol:/opt/oracle/oradata oracleinanutshell/oracle-xe-11g

使用docker compose的选项2:

version: '3'
services: 
oracle-db:
image: oracleinanutshell/oracle-xe-11g:latest
ports:
- 1521:1521
- 5500:5500
volumes:
- db-vol:/opt/oracle/oradata
volumes:
db-vol:

请在这里找到所需概念的理论:

https://docs.docker.com/storage/volumes/

https://hub.docker.com/r/oracleinanutshell/oracle-xe-11g

最新更新