c - 将 C 库添加到 docker
问题描述
我有一个带有 c 库依赖项(例如 pbc)的 golang 项目。我创建了一个 dockerfile:
FROM golang:1.9.6-alpine3.7
RUN mkdir -p /go/src/app
WORKDIR /go/src/app
COPY . /go/src/app
RUN apk add --update git gcc build-base gmp flex bison
RUN go-wrapper download
RUN go-wrapper install
CMD ["go-wrapper", "run", "-web"]
EXPOSE 8000
但是我不明白如何提供 pbc 库,因为它是独立库 - https://crypto.stanford.edu/pbc/howto.html
附加此库动态链接。我应该怎么办?
解决方案
添加 docker 命令以在 docker 映像上下载、编译和安装库。
RUN wget https://crypto.stanford.edu/pbc/files/pbc-0.5.14.tar.gz && \
tar -xvf pbc-0.5.14.tar.gz && \
cd pbc-0.5.14 && \
./configure --prefix=$HOME/.local && \
make && make install
RUN rm pbc-0.5.14.tar.gz && rm -rf pbc-0.5.14
这当然是一个非常简单的方法,你需要知道你想如何编译它,以及使用什么自定义标志。
推荐阅读
- python - 使用记事本打开文件时写入 utf8 不起作用
- javascript - 递归函数只返回第一个结果
- java - JPA CriteriaQuery中不需要的交叉连接在子查询中选择
- autodesk-forge - 是否有现实捕获参数来请求所需的顶点数量?
- r - R中两个栅格堆栈之间每个位置的最佳拟合线
- reactjs - react-select defaultValue 未从状态加载
- python - Python list.remove()
- android - 有什么理由使用低于 API 23 的 EncryptedSharedPreferences?
- functional-programming - 在函数式编程中,访问部分函数的参数值是否“不好”?
- assembly - 为什么在 risc-v 中加载到堆中时输入字符串可能非零终止?