# 基础镜像 FROM centos:centos7 USER root #容器内根:/mnt WORKDIR /mnt #安装openjdk17 COPY ./jdk/openjdk-17+35_linux-x64_bin.tar.gz /mnt/openjdk.tar.gz RUN mkdir /usr/local/java && \ tar -zxvf /mnt/openjdk.tar.gz -C /usr/local/java/ && \ rm -rf /mnt/openjdk.tar.gz ENV JAVA_HOME=/usr/local/java/jdk-17 ENV PATH=$JAVA_HOME/bin:$PATH # 安装 open office COPY ./openoffice/Apache_OpenOffice_4.1.15_Linux_x86-64_install-rpm_zh-CN.tar.gz /mnt/openoffice.tar.gz RUN tar -xzf /mnt/openoffice.tar.gz -C /mnt && \ cd /mnt/zh-CN/RPMS/ && \ rpm -ivh *.rpm && \ cd /mnt/zh-CN/RPMS/desktop-integration/ && \ rpm -ivh openoffice4.1.15-redhat-menus-4.1.15-9813.noarch.rpm && \ rm -rf /mnt/zh-CN # 将 CentOS7基础仓库修改为阿里云仓库,解决 yum报错 RUN mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup COPY ./CentOS-7-reg.repo /etc/yum.repos.d/CentOS-Base.repo RUN yum clean all && \ yum makecache && \ yum install deltarpm -y # 安装缺失的包 RUN yum install -y libXext.x86_64 freetype && \ yum groupinstall -y "X Window System" # 3.将我们准备的fonts字体,拷贝到/usr/share/fonts下面 RUN mkdir -p /usr/share/fonts COPY ./openoffice/fonts /usr/share/fonts RUN cd /usr/share/fonts/ && \ chmod -R 755 /usr/share/fonts && \ # 4.安装字体,和"X Window System" yum install mkfontscale fontconfig -y && \ mkfontscale && \ mkfontdir && \ fc-cache -fv # 解决中文乱码问题 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US.UTF-8 ENV LC_ALL en_US.UTF-8 ENV TZ Asia/Shanghai #指定环境(prod-生产,dev-开发) ENV APP_ACTIVE="prod" #卷目录(关联日志配置log4j2-prod.xml,关联存储配置application-prod.yml) VOLUME ["/mnt/logs","/mnt/storage","/mnt/jar"] #暴露容器端口为8012 EXPOSE 8012 #容器启动时执行的命令 #ENTRYPOINT /opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;"-nofirststartwizard & ENTRYPOINT nohup java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Dspring.profiles.active=${APP_ACTIVE} -jar /mnt/jar/officeOnlineShow.jar