Dockerfile 分段式构建

介绍 在Docker Engine 17.05 中引入了多阶段构建 在一个Dockerfile中使用多个FROM指令,每个FROM都可以使用不同的基镜像,并且每条指令都将开始新阶段构建。在多阶段构建中,我们可以将资源从一个阶段复制到另一个阶段,在最终镜像中只保留我们所需要的内容。 Dockerfile 示例 # build ui FROM node:16 AS ui COPY ui /src RUN cd /src \ && npm config set registry http://mirrors.cloud.tencent.com/npm/ \ && npm install \ && npm run build # build server FROM maven:3.6-jdk-8 AS server COPY server /src COPY --from=ui /src/dist /src/admin/src/main/resources/public RUN cd /src && mvn clean install # build image FROM openjdk:8-jre-alpine3.9 LABEL author=Eric COPY --from=server /src/admin/target/admin.jar /opt/app.jar COPY application.yml /opt/config/application.yml WORKDIR /opt EXPOSE 8080 ENTRYPOINT ["java","-jar","app.jar", "--spring.config.location=optional:config/application.yml"] dockerfile中 FROM 指令后添加 AS <NAME>来命名构建阶段,以后的阶段中使用COPY --from=<NAME> /src/admin/target/admin.jar /opt/app.jar 从指定的阶段中复制文件; ...

七月 9, 2023 · 1 分钟 · Eric

Docker OpenOffice excel 转 pdf

Docker 安装 OpenOffice OpenOffice 下载地址:https://www.openoffice.org/download/index.html 选择对应环境的安装包文件,下载 Download full installation Dockerfile 如下: FROM centos:7 MAINTAINER Eric # 添加 openoffice 安装包 ADD Apache_OpenOffice_4.1.13_Linux_x86-64_install-rpm_zh-CN.tar.gz /opt/ # 添加字体,拷贝自 windows 环境下 C:/Windows/Fonts 目录文件 COPY ./fonts /usr/share/fonts RUN cd /opt && \ yum install -y zh-CN/RPMS/*.rpm && \ yum install -y java-1.8.0-openjdk && \ yum clean all && \ chmod -R 755 /usr/share/fonts && \ yum install mkfontscale fontconfig -y && \ yum groupinstall "X Window System" -y && \ mkfontscale && \ mkfontdir && \ fc-cache -f && \ rm -rf zh-CN EXPOSE 8100 CMD /opt/openoffice4/program/soffice -headless -nofirststartwizard -accept="socket,host=0.0.0.0,port=8100;urp;" 安装完成启动容器,映射8100端口即可; ...

八月 7, 2022 · 2 分钟 · Eric