JDK8 + FFMPEG + Libreoffice镜像的制作

JDK8 + FFMPEG + Libreoffice镜像的制作

JDK8整合FFMPEG

此镜像是根据jrottenberg/ffmpeg:centos镜像做为基础镜像,增加了jdk8的支持

FROM jrottenberg/ffmpeg:centos
MAINTAINER ffmpeg + jdk
ADD jdk-8u231-linux-x64.tar.gz /usr/local/
ENV JAVA_HOME /usr/local/jdk1.8.0_231
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
WORKDIR /usr/local/oas/
docker build -t ffmpeg-jdk8:1.0.0 .

构建基于ffmpeg+jdk8的libreoffice

windows字体包就是在Windows下C:\Windows\Fonts中,搜索“简体”后出来的字体,然后把它们统一打包,我用的7zip,先压缩成tar,再压缩成gz。
Libreoffice下载地址:
https://mirrors.cloud.tencent.com/libreoffice/libreoffice/stable/7.0.6/rpm/x86_64/
打开地址后,使用Chrome浏览器可以直接用Ctrl + F 进行检索我所使用的版本,直接搜索LibreOffice_7.0.6_Linux_x86-64_rpm.tar.gz和LibreOffice_7.0.6_Linux_x86-64_rpm_langpack_zh,然后去下载吧。
最后再说一句,在我提供的地址中,已经有了制作镜像所需要的包,认真找找。

FROM ffmpeg-jdk8:1.0.0

#以下设置中文语言环境与修改时区
ENV LANG=zh_CN.UTF-8 \
	LANGUAGE=zh_CN:zh \
	LC_ALL=zh_CN.UTF-8
RUN yum update -y && \
	yum reinstall -y glibc-common && \
	yum install -y telnet net-tools && \
	yum clean all && \
	rm -rf /tmp/* rm -rf /var/cache/yum/* && \
	localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 && \
	ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
	 
#加入windows字体包
ADD fonts.tar.gz /usr/share/fonts/
ADD docker-entrypoint.sh /usr/
	 
#将下载好的包解压到相应文件下
ADD LibreOffice_7.0.6_Linux_x86-64_rpm.tar.gz /home/
ADD LibreOffice_7.0.6_Linux_x86-64_rpm_langpack_zh-CN.tar.gz /usr/
	 
#执行安装
RUN cd /home/LibreOffice_7.0.6.2_Linux_x86-64_rpm/RPMS/ && \
	yum localinstall *.rpm -y && \
	cd /usr/LibreOffice_7.0.6.2_Linux_x86-64_rpm_langpack_zh-CN/RPMS/ && \
	yum localinstall *.rpm -y && \
	yum install ibus -y && \
	cd /usr/share/fonts/ && \
	chmod -R 755 /usr/share/fonts && \
	yum install mkfontscale -y && \
	mkfontscale && \
	yum install fontconfig -y && \
	mkfontdir && \
	fc-cache -fv && \
	yum clean all

ENTRYPOINT ["/usr/docker-entrypoint.sh"]

docker-entrypoint.sh中是启动libreoffice的命令,我用的时libreoffice7,不同的版本,需要进入对应的文件夹中哈!

/opt/libreoffice7.0/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
docker build -t libreoffice:1.0.0 .

至此,一个基于JDK8+ffmpeg的libreoffice镜像就制作完成。

制作springboot项目镜像

springboot项目中的application.yml文件,我们希望能够映射出来,方便修改。所以springboot项目的镜像也是按照此目标来实现的。

目录结构

JDK8 + FFMPEG + Libreoffice镜像的制作_第1张图片

  • conf文件夹中保存的是application.yml文件
  • Dockerfile是制作镜像文件
  • dockertest-1.0-SNAPSHOT.jar是springboot项目包

编辑Dockerfile文件

FROM java:8
ENV DIRPATH /usr/local/test
WORKDIR $DIRPATH
ADD ./config/application.yml ./config/application.yml
ADD dockertest-1.0-SNAPSHOT.jar ./lib/docker.jar
VOLUME $DIRPATH/config

EXPOSE 16014

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom",\
"-jar",\
"-Dspring.config.location=/usr/local/test/config/application.yml",\
"/usr/local/test/lib/docker.jar"]

通过-Dspring.config.location参数指定application.yml的路径。

制作镜像

docker build -t springboot-test:1.0.0 .

启动springboot镜像

docker run -d --name springboot-service -p 16014:16014 -v /data/docker-file/docker-test/conf:/usr/local/test/config springboot-test:1.0.0

具体的映射路径,请以实际需求为准

你可能感兴趣的:(docker,docker,ffmpeg,libreoffice,java)