使用Docker Compose启动Oracle数据库



我用以下命令在docker中启动oracle数据库(在操作系统Windows 10上(:

docker run -d --env-file C:(...)ora_db_env.dat -p 9445:1521 --name oracle-std --shm-size="8g" container-registry.oracle.com/database/standard

工作正常。现在我想使用docker compose来做同样的事情。https://www.composerize.com/给了我以下docker-compose.yml文件,所以它缺少"shm-size"的信息,所有信息都来自我的"ora_db_env.dat"(见下文(:

version: '3.3'
services:
oracle-std-service:
ports:
- '9445:1521'
container_name: oracle-std-service-container
image: container-registry.oracle.com/database/standard
(...other services...)

"ora_db_env.dat"的内容:

DB_SID=OraDoc
DB_PASSWD=MyPasswd123
DB_DOMAIN=my.domain.com
DB_BUNDLE=basic

我试着把那些缺失的信息包括在内。。。

version: "3.9"
services:
oracle-std-service:
container_name: oracle-std-service-container
ports:
- '9445:1521'
image: container-registry.oracle.com/database/standard
environment:
shm-size: 8g
DB_SID: OraDoc
DB_PASSWD: MyPasswd123
DB_DOMAIN: my.domain.com
DB_BUNDLE: basic

但我只得到以下输出:

config DB failed, please check log /home/oracle/setup/log/configDB.log for details

不知道(在谷歌上搜索后(在哪里可以在Windows中找到这个文件,我不知道该怎么办。

由于缺少日志,无法100%确定这一点,但由于shm-size配置,这可能会失败
shm_size是一个docker配置,因此应在服务级别声明,而不是作为环境声明
喜欢

version: "3.9"
services:
oracle-std-service:
shm_size: 8g
container_name: oracle-std-service-container
ports:
- '9445:1521'
image: container-registry.oracle.com/database/standard

参见docker compose 中的SHM_SIZE

日志位置在容器内,如果容器仍在运行,您可以使用docker exec访问它,使用docker ps -a找到它的名称

docker exec --it <oracle container name> bash

如果它已经停止,那么你必须启动它并使用exec进行访问

是。。。能够在Arun Sa的帮助下查看日志,我确认问题是shm_size参数在docker-compose.yml中的错误位置。问题解决了,非常感谢:

version: "3.9"
services:
oracle-std-service:
shm_size: '8gb'
container_name: oracle-std-service-container
ports:
- '9445:1521'
image: container-registry.oracle.com/database/standard
environment:            
DB_SID: OraDoc
DB_PASSWD: MyPasswd123
DB_DOMAIN: my.domain.com
DB_BUNDLE: basic

最新更新