update docker support
This commit is contained in:
parent
70723fd147
commit
efc3e7c70c
45
Dockerfile
45
Dockerfile
@ -1,16 +1,37 @@
|
||||
# 编译平台
|
||||
# 导入代码库镜像 视包含的代码库多少编译后的镜像可包含部分至全部GCTL代码库内容
|
||||
FROM gctl:2.0 AS gctl_library
|
||||
FROM gctl_mesh:2.0 AS gctl_mesh_library
|
||||
FROM gctl_optimization:2.0 AS gctl_optimization_library
|
||||
FROM gctl_ai:2.0 AS gctl_ai_library
|
||||
FROM gctl_potential:2.0 AS gctl_potential_library
|
||||
FROM gctl_seismic:2.0 AS gctl_seismic_library
|
||||
FROM gctl_elecmag:2.0 AS gctl_elecmag_library
|
||||
# 编译平台
|
||||
FROM ubuntu:20.04 AS builder
|
||||
# 从代码库镜像中复制库文件和头文件
|
||||
COPY --from=gctl_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_mesh_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_mesh_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_optimization_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_optimization_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_ai_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_ai_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_potential_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_potential_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_seismic_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_seismic_library /usr/local/include /usr/local/include
|
||||
COPY --from=gctl_elecmag_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_elecmag_library /usr/local/include /usr/local/include
|
||||
|
||||
# 安装编译工具
|
||||
RUN apt-get update && apt-get install -y g++ make cmake
|
||||
# 安装依赖库
|
||||
RUN apt-get install -y --no-install-recommends libfftw3-dev libnetcdf-dev gmt libgmt-dev libgsl-dev libncurses-dev
|
||||
RUN apt-get install -y --no-install-recommends libopenblas-dev libeigen3-dev
|
||||
RUN apt-get install -y pkg-config
|
||||
# 创建工作目录
|
||||
WORKDIR /app
|
||||
# 从代码库镜像中复制库文件和头文件
|
||||
COPY --from=gctl_library /usr/local/lib /usr/local/lib
|
||||
COPY --from=gctl_library /usr/local/include /usr/local/include
|
||||
|
||||
# 编译依赖库
|
||||
COPY dep/editline-1.17.1 /app/dep/editline
|
||||
@ -36,7 +57,22 @@ COPY triangle2gmsh /app/triangle2gmsh
|
||||
COPY txtinfo /app/txtinfo
|
||||
COPY xyz2nc /app/xyz2nc
|
||||
COPY xyz2sph /app/xyz2sph
|
||||
|
||||
COPY 2minfo /app/2minfo
|
||||
|
||||
COPY slbsi /app/slbsi
|
||||
COPY lbsi /app/lbsi
|
||||
COPY lki /app/lki
|
||||
COPY levy_planner /app/levy_planner
|
||||
|
||||
COPY tetgm /app/tetgm
|
||||
|
||||
COPY dsviewer /app/dsviewer
|
||||
|
||||
COPY gridmanager /app/gridmanager
|
||||
|
||||
COPY gridmanager-potential /app/gridmanager-potential
|
||||
|
||||
COPY CMakeLists.txt .
|
||||
COPY config.h.in .
|
||||
# 编译gctl动态库
|
||||
@ -47,6 +83,7 @@ FROM ubuntu:20.04
|
||||
# 安装运行时必要依赖
|
||||
RUN apt-get update && apt-get install -y libstdc++6
|
||||
RUN apt-get install -y --no-install-recommends libfftw3-dev libnetcdf-dev gmt libgmt-dev libgsl-dev libncurses-dev
|
||||
RUN apt-get install -y --no-install-recommends libopenblas-dev libeigen3-dev
|
||||
# 从构建阶段复制编译后的库和头文件
|
||||
COPY --from=builder /usr/local/lib /usr/local/lib
|
||||
COPY --from=builder /usr/local/include /usr/local/include
|
||||
|
Loading…
Reference in New Issue
Block a user