Docker - 运行 Oracle DB 镜像并执行初始化脚本

5

有些令人惊讶的是,我没有找到一个解决这个问题的答案,而我认为这是一个常见的情况。

因此,我正在尝试编写一个Docker文件,在其中初始化一个Oracle数据库,然后运行一个包含SQL查询的脚本。

在我的文件夹中,我有以下文件:dockerfile、dbInit.sql

我的dockerfile如下所示:

FROM store/oracle/database-enterprise:12.2.0.1-slim
ADD dbModelAndInit.sql /docker-entrypoint-initdb.d/
EXPOSE 1521

构建和运行镜像后,数据库正在运行,但文件未被执行。

非常感谢任何帮助。


1
你检查了这个文件的用户权限吗?或者查看了容器日志吗?请注意,在测试期间需要创建一个新的容器,我认为这只需要执行一次。 - Mostafa Hussein
权限没问题。容器日志没有关于应该执行的 SQL 查询的任何报告,似乎它们根本没有被执行。 - Dragan
入口点本身怎么样,您能检查一下确认吗?它是否支持特定的功能?我的意思是可能需要一个提供支持的新容器版本,但无论如何都值得检查。 - Mostafa Hussein
命令“ADD dbModelAndInit.sql /docker-entrypoint-initdb.d/”只是将文件添加到镜像中。谁来执行它? - bdn02
1个回答

1
我有同样的问题,据我所知,“docker-entrypoint-initdb.d”目录中的文件会自动执行,是这样吗?但我不确定在特定的镜像“store/oracle/database-enterprise:12.2.0.1-slim”中,放置在此路径下的脚本是否会自动执行。

这就是了,我更改了使用的图像,然后它开始正常工作了。谢谢。 - Dragan
3
@Dragan 你当时使用了哪一张图片? - ThomasDC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接