我已經在Ubuntu 21.10上安裝了docker ,并按照官方 說明提取了oracle 11g xe映像:
docker pull oracleinanutshell/oracle-xe-11g
然后我開始了影像:
docker run -d -p 49161:1521 -p 8080:8080 oracleinanutshell/oracle-xe-11g
并使用Oracle SQL Developer我以SYSTEM身份連接并創建了一個標準用戶,授予適當的權限(創建/洗掉表、序列等)。
然后我以該標準用戶身份連接并開始創建和填充一些表。
但是當停止 docker 映像并重新啟動它時,用戶和所有表都丟失了。可以做些什么來解決這個問題?
非常感謝!
uj5u.com熱心網友回復:
您需要創建一個卷以保留持久資料。此外,一旦你開始處理這些事情。最好使用 docker compose 來處理。
選項 1 使用 docker:
首先創建卷:
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/454499.html
