当我通过 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/