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
 
相关推荐
光电笑映3 分钟前
网络通信基础:从协议分层到 Socket 编程预备
linux·运维·服务器·网络
微小冷1 小时前
用Mermaid画时序图
运维·流程图·时序图·mermaid·生命线
其实防守也摸鱼1 小时前
Codex 下载与本地部署实战:从安装到运行全指南
android·大数据·运维·安全·自动化
wdfk_prog1 小时前
ROS教程07:从 ros::start() 顺着源码读懂 Master、XML-RPC 与 Topic 注册发现
运维·缓存·docker·容器·ros
吴声子夜歌1 小时前
Shell编程实例——与解析相关的任务(二)
linux·运维·shell
mengge.cloud2 小时前
0917Docker 小白实验教程(理论+实操)
linux·服务器·网络·docker
倔强的石头1063 小时前
【Linux指南】动静态库系列(八):ELF 加载与进程地址空间:程序还没运行,为什么已经有地址
linux·运维
两点王爷3 小时前
常用的 Docker 镜像拉取地址仓库及常用命令详解
运维·服务器·容器
wdfk_prog3 小时前
用 Git Submodule + Sparse Checkout 管理 RT-Thread:内核、BSP、第三方库与业务代码分层实践
运维·缓存·docker·容器·ros
努力努力再努力wz3 小时前
【Docker入门系列】镜像为什么能复用?一文吃透 Docker Image、Registry、运行时架构与常用命令
缓存·docker·容器