创建centos+jdk8+libreoffice docker镜像

创建 dockerfile

img_centos_java_libreoffice

FROM centos:centos7

ADD jdk1.8.0_181.tar.gz /

ADD LibreOffice_6.4.6_Linux_x86-64_rpm.tar.gz /
ADD LibreOffice_6.4.6_Linux_x86-64_rpm_sdk.tar.gz /
ADD LibreOffice_6.4.6_Linux_x86-64_rpm_langpack_zh-CN.tar.gz /

CMD /bin/bash

ADD 只能读取相对路径的源文件,

镜像0.1 初始

> docker build -f img_centos_java_libreoffice -t img_centos_java_libreoffice:0.1 .

启动容器 jhs_1_setup

> docker run -it -d --net=host --name jhs_1_setup img_centos_java_libreoffice:0.1
> docker exec -it jhs_1_setup /bin/bash 

安装jdk

> mkdir /usr/java
> mv jdk1.8.0_181/ /usr/java
> vi /etc/profile

JAVA_HOME=/usr/java/jdk1.8.0_181
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

> . /etc/profile
> java -version

镜像0.2 with_java

> docker commit -a "jhs" -m "with_java" jhs_1_setup img_centos_java_libreoffice:0.2

启动容器 jhs_2_with_java

> docker run -it -d --net=host --name jhs_2_with_java img_centos_java_libreoffice:0.2
> docker exec -it jhs_2_with_java /bin/bash 

安装libreoffice

> cd RPMS/
> yum localinstall *.rpm

> vi /etc/profile
export LibreOffice_PATH=/opt/libreoffice6.4/program
export PATH=$LibreOffice_PATH:$PATH

> . /etc/profile

> soffice --help

缺少依赖: yum install ibus

镜像0.3 with_java_libreoffice

> docker commit -a "jhs" -m "with_java_libreoffice" jhs_2_with_java img_centos_java_libreoffice:0.3`

启动脚本

> docker run -it -d --net=host --name jhs_3_with_java_libreoffice img_centos_java_libreoffice:0.3
> docker exec -it jhs_3_with_java_libreoffice /bin/bash 

[root@s42 /]# . /etc/profile
[root@s42 /]# java -version

创建dockerfile : img_template

FROM img_centos_java_libreoffice:0.3

ENV JAVA_HOME /usr/java/jdk1.8.0_181
ENV JRE_HOME $JAVA_HOME/jre
ENV PATH $PATH:$JAVA_HOME/bin:$JRE_HOME/bin
ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

ENV LibreOffice_PATH /opt/libreoffice6.4/program
ENV PATH $LibreOffice_PATH:$PATH

# RUN ["source", "/etc/profile"]

# RUN ["java", "-","version"]
# RUN ["soffice", "--","version"]

CMD /bin/bash

镜像4 template

构建镜像

> docker build -f img_template -t jhs_4_template:0.1 .

启动脚本

> docker run -it -d --net=host --name jhs_4_template jhs_4_template:0.1
> docker exec -it jhs_4_template /bin/bash 

[root@s42 /]# . /etc/profile
[root@s42 /]# java -version
## 安装编码集
[root@s42 /]# localedef -v -c -i en_US -f UTF-8 C.UTF-8

镜像5 template_c_utf8

> docker commit -a "jhs" -m "template_c_utf8" jhs_4_template img_template_c_utf8:0.1

镜像6 template_c_utf8_env

> vim img_template2

FROM img_template_c_utf8:0.1

ENV LANG C.UTF-8
ENV JAVA_HOME /usr/java/jdk1.8.0_181
ENV JRE_HOME $JAVA_HOME/jre
ENV PATH $PATH:$JAVA_HOME/bin:$JRE_HOME/bin
ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

ENV LibreOffice_PATH /opt/libreoffice6.4/program
ENV PATH $LibreOffice_PATH:$PATH

CMD /bin/bash

构建镜像

> docker build -f img_template2 -t img_template_2:0.1 .

镜像5 img_template_xj_gec_service

FROM img_template_2:0.1

ENTRYPOINT ["java","-Xms512m","-Xmx512m","-jar","-Dlogging.file=/app/logs/gecXjService.log","-Duser.timezone=GMT+8","/app/gecService-1.0-SNAPSHOT.jar","--server.port=8076","&"]
EXPOSE 8076

构建镜像

> docker build -f img_template_xj_gec_service -t img_template_xj_gec_service:0.1 .

创建容器+启动应用服务

> docker run -it -d --net=host -v /home/docker/versions:/app/ -v /home/docker/files:/files/ --name jhs_gec_xj_service --privileged=true img_template_xj_gec_service:0.1
> docker exec -it jhs_gec_xj_service /bin/bash 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值