Docker Oracle数据库 - 无法覆盖ENV变量以获取凭据

时间:2018-05-23 12:16:00

标签: oracle docker docker-compose

我想在服务器上配置Oracle数据库。为此,我使用DockerHub中的这个图像: https://hub.docker.com/r/sath89/oracle-12c/ 将图像包含在docker-compose.yml文件中后,我无法覆盖访问数据库的默认凭据(用户名为system,而密码为oracle)。这就是我的docker-compose.yml文件的样子:

version: '3.5'
services:
oracle12c-db: 
image: sath89/oracle-12c
restart: always # restart policy
ports:
  - 1521:1521
environment:                     
  - USER=myusername
  - PASS=mypass
  - HOST=oracle-database
  - PORT=1521
  - ORACLE_SID=XE
  - HTTP_PORT=8080    

成功执行命令docker-compose up后,我仍然无法使用新凭据访问数据库(仅使用默认凭据)。我的docker-compose文件在语法上是正确的还是我错过了其他的东西?在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我不能在运行时特别容易地修改它。

选项1是基于theirs创建自己的Dockerfile,并在构建时传入用户和密码(或将其硬编码为其他内容)

选项2是修改其入口点并在启动时运行相应的Oracle命令以更改用户/密码