docker 部署 libreoffice

创建 jdk 镜像

1、创建 Dockfile 文件

复制代码
FROM centos:7
ADD jdk-8u212-linux-x64.tar.gz /usr/local
RUN mv /usr/local/jdk1.8.0_212 /usr/local/jdk
ENV JAVA_HOME=/usr/local/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
EXPOSE 8080
RUN java -version

2、打包镜像

bash 复制代码
docker build -t jdk1.8.0_212 .

3、libreoffice 官网下载 rpm 包

https://www.libreoffice.org/download/download-libreoffice/?type=rpm-x86_64\&version=24.2.5\&lang=zh-CN

4、创建新的镜像,在 jdk 1.8 镜像下安装插件

bash 复制代码
FROM  jdk1.8.0_212:latest
COPY ./LibreOffice_24.2.5_Linux_x86-64_rpm.tar.gz  /LibreOffice_24.2.5_Linux_x86-64_rpm.tar.gz
RUN tar -zxvf /LibreOffice_24.2.5_Linux_x86-64_rpm.tar.gz 
RUN cd LibreOffice_24.2.5.2_Linux_x86-64_rpm/RPMS/ &&  yum install -y *.rpm
ENTRYPOINT ["java", "-jar", "*.jar"]

5、打包 libreoffice 镜像

bash 复制代码
docker build -t libreoffice .

6、运行镜像,进入容器进行检测

bash 复制代码
docker run -d -it --name  libreoffice libreoffice:latest
docker exec -it 9ccfe9142121 /bin/bash

7、导出镜像

bash 复制代码
docker export 9ccfe9142121 > libreoffice24.2.tar

e45e6f82fc7f:代表的是镜像在容器中的ID,根据实际情况进行选择。

milvus-etcd.tar:代表导出镜像后的压缩名字,可以任意命名。

8、推送镜像

bash 复制代码
//推送镜像操作
vim /etc/docker/daemon.json 
//添加如下配置
"insecure-registries": ["IP:PORT"],
//重启docker 服务
systemctl daemon-reload 加载配置文件 
systemctl restart docker # 启动docker服务 ```

```bash
docker tag f9041b2a667d 仓库映地址/library/libreoffice:v1.0.0

 docker login 仓库

Username: docker账号名
Password: docker 密码
 docker push 仓库映地址/library/libreoffice:v1.0.0
 
相关推荐
全栈工程师修炼指南几秒前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
Zfox_29 分钟前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
威迪斯特1 小时前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver
一方热衷.1 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器
独自归家的兔1 小时前
ubuntu系统安装dbswitch教程 - 备份本地数据到远程服务器
linux·运维·ubuntu
ONE_SIX_MIX1 小时前
ubuntu 24.04 用rdp连接,桌面黑屏问题,解决
linux·运维·ubuntu
龙飞051 小时前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl
春日见1 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡1 小时前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
消失的旧时光-19431 小时前
Linux 编辑器入门:nano 与 vim 的区别与选择指南
linux·运维·服务器