使用 docker 构建时出现 pkg_config_path 错误
Posted
技术标签:
【中文标题】使用 docker 构建时出现 pkg_config_path 错误【英文标题】:pkg_config_path error on building with docker 【发布时间】:2018-05-04 13:29:42 【问题描述】:当我通过 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*
请提出解决方案。
【问题讨论】:
【参考方案1】:我不确定你是否解决了这个问题,因为这个问题两年前就被问过了......
在您的 Dockerfile 中,您已经设置了 PKG_CONFIG_PATH
,但是在设置 WORKDIR 之后,您使用了 ADD
命令,因此您将不包括 PKG_CONFIG_PATH
的文件添加到您的 WORKDIR。我认为您应该将ls
用于您的PKG_CONFIG_PATH
,以查看是否退出了任何名为oci8.pc 的文件。在这种情况下,我建议使用COPY
命令专门将oci.pc 移动到PKG_CONFIG_PATH
。
【讨论】:
以上是关于使用 docker 构建时出现 pkg_config_path 错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 docker-compose 构建容器时出现“php_network_getaddresses:getaddrinfo failed:Temporary failure in name reso
构建 docker 映像时出现问题,运行 dotnet restore:VS2019 中的“No such host is known”,Windows
使用 spring 和 docker 引发运行时异常时出现 cors 问题