Dockerfile 2.1 KB

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