oracle - 使用 docker 构建时出现 pkg_config_path 错误

标签 oracle docker go build pkg-config

当我通过 docker 为 Go 应用程序构建镜像时,出现以下错误:

# pkg-config --cflags oci8

在 pkg-config 搜索路径中找不到软件包 oci8。 也许您应该添加包含“oci8.pc”的目录 到 PKG_CONFIG_PATH 环境变量 找不到包“oci8” pkg-config:退出状态 1

我还在 Dockerfile 中设置了环境变量。但问题仍然存在。 我的 Dockerfile 是:

*FROM golang:1.9
ARG app_env
ENV APP_ENV $app_env
ENV GOPATH /home/nupur/mapi-go
ENV PKG_CONFIG_PATH /home/nupur/mapi-go
ENV ORACLE_HOME /usr/include/oracle/11.2/client64
ENV LD_LIBRARY_PATH /usr/lib/oracle/11.2/client64/lib
WORKDIR /home/nupur/mapi-go/src/DockerApp/blDocker
ADD . .
RUN go build /home/nupur/mapi-go/src/DockerApp/blDocker/launch.go
ENTRYPOINT ["./launch"]
EXPOSE 8093*

请提出解决方案。

最佳答案

我不确定你是否解决了这个问题,因为这个问题已经在两年前被问过...... 在 Dockerfile 中,您已经设置了 PKG_CONFIG_PATH,但在设置 WORKDIR 后,您使用了 ADD 命令,因此您将文件添加到不包含 PKG_CONFIG_PATH< 的 WORKDIR 中。/。我认为您应该在 PKG_CONFIG_PATH 中使用 ls 来查看是否有任何名为 oci8.pc 的文件退出。在这种情况下,我建议使用COPY命令将oci.pc专门移动到PKG_CONFIG_PATH

关于oracle - 使用 docker 构建时出现 pkg_config_path 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47407093/

相关文章:

concurrency - 为高并发应用程序实现全局计数器的最佳方法?

c# - 本地 TCP 服务器使用哪个地址?

c# - Microsoft-IIS/8.5,Oracle 输出变量被截断

database - 在 Oracle 中查找重叠时间

Docker hub 自动构建版本和标签最新

python - 使用 docker 部署处理 flask 中的环境变量

go - 立即评估延迟调用的参数

sql - 从 12.1 更新到 Oracle 12.2 后 Table Operator 出现错误 (ORA-21700)

database - 具有不同 SID 的 Oracle 导出数据库

docker - Docker群:保证重启后的高可用性