# 载入动态库镜像 FROM ubuntu:20.04 AS builder # 创建工作目录 WORKDIR /app # 拷贝源代码 COPY src /app/src COPY CMakeLists.txt /app # 编译主程序并链接动态库 RUN apt-get update && apt-get install -y g++ make cmake RUN mkdir build && cd build && cmake .. && make # 分析依赖库 将所有需要的库全部拷贝待用 RUN mkdir /app/dependencies # 注意全部使用绝对路径 RUN ldd /app/stt | grep "=>" | awk '{print $3}' | xargs -I {} cp --parents {} /app/dependencies # 检查 /app/dependencies 目录的内容 #RUN ls -l /app/dependencies FROM ubuntu:20.04 # 创建工作目录 WORKDIR /app # 拷贝依赖库和可执行文件 COPY --from=builder /app/dependencies/lib /lib #COPY --from=builder /app/dependencies/usr /usr COPY --from=builder /app/stt /usr/local/bin # 设置环境变量 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib ENV PATH=$PATH:/usr/local/bin # 设置运行时执行文件 方便传递命令行参数 ENTRYPOINT ["stt"]