0

我试图让 Roundhouse 从我有一些 Oracle 脚本的 Docker 映像运行,但目前当我对我的 Docker 映像执行 rh 命令时,我收到以下错误:

无法从您传递的对象创建类型。“roundhouse.databases.oracle.OracleDatabase,roundhouse.databases.oracle”解析为空。

我认为这是没有在我的 Docker 映像中正确配置 Oracle 客户端工具的结果(https://github.com/chucknorris/roundhouse/wiki/Oracle)。

我已经从https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html下载了 rpm 文件,并且我设法安装了 Oracle 客户端工具,但我继续获取上面的错误所以我认为这是因为我没有正确配置客户端工具?

谁能告诉我我做错了什么?

FROM mcr.microsoft.com/dotnet/core/sdk:2.1

ENV PATH="$PATH:/root/.dotnet/tools"

ADD *.* /

RUN apt-get update && \
      apt-get install sudo
#RUN apk --update add libaio bc net-tools
RUN sudo apt-get install unzip
RUN sudo apt-get install wget
RUN sudo apt-get install alien -y

RUN sudo alien -i oracle-instantclient*-basic-*.rpm
RUN sudo alien -i oracle-instantclient*-devel-*.rpm
RUN sudo alien -i oracle-instantclient*-sqlplus-*.rpm

RUN echo /usr/lib/oracle/19.1/client/lib > /etc/ld.so.conf.d/oracle.conf
RUN sudo ldconfig

RUN dotnet tool install --global dotnet-roundhouse --version 1.2.1

ENTRYPOINT [ "rh"]
4

1 回答 1

0

当我尝试使用 MS repo 时,我遇到了同样的错误。这对我有用:

  • 将官方的 oracle 即时客户端容器安装为 oracle/instantclient:19。指令在这里
  • 在该图像之上构建此 Dockerfile
  from oracle/instantclient:19
  RUN microdnf install git RUN git clone https://github.com/chucknorris/roundhouse.git 
  RUN microdnf install dotnet-sdk-2.1 
  RUN cd roundhouse && dotnet tool install --global dotnet-roundhouse --version 1.2.1
  ENTRYPOINT [ "rh"]
于 2021-08-06T15:22:33.053 回答