当前位置: 首页 > news >正文

docker基于debian11基础环境安装libreoffice

  1. 首先下载指定版本的libreoffice,注意debian11下需要选择Linux (64-bit) (deb)

    官方下载地址:https://www.libreoffice.org/download/download-libreoffice/?type=deb-x86_64&version=7.6.2&lang=zh-CN

  2. 将文件上传到服务器并解压缩备用,目录结构如下:

    - LibreOffice_7.6.2.1_Linux_x86-64_deb- DEBS- xxx.deb- readmes
    
  3. 准备基础镜像,我这里使用的是包含aspnet的基础镜像,当然是debian11,执行如下命令:

    docker run --name dotnet-libreoffice-test -it --rm mcr.microsoft.com/dotnet/aspnet:6.0 bash
    
  4. 在容器内部,首先更新apt仓库:

    mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
    echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free" >/etc/apt/sources.list
    echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free" >>/etc/apt/sources.list
    echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free" >>/etc/apt/sources.list
    echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free" >>/etc/apt/sources.list
    
    apt-get update
    
  5. 安装java运行环境,注意,现在默认支持的长期版本为11,所以apt-get下安装的是11版本:

    apt install default-jre
    
  6. 安装cairo

    apt-get install libcairo2
    

    有的基础镜像还需要额外安装python-cairo,当然我们不需要。

  7. 将LibreOffice_7.6.2.1_Linux_x86-64_deb复制到容器内部

    docker cp ./LibreOffice_7.6.2.1_Linux_x86-64_deb dotnet-libreoffice-test:/
    
  8. 下面进行安装,官方安装文档:https://wiki.documentfoundation.org/Documentation/Install/Linux/zh-cn

    cd /LibreOffice_7.6.2.1_Linux_x86-64_deb/DEBS
    
    dpkg -i *.deb
    
  9. 清空本次登入的所有输出命令

    history -c
    
  10. 再开另外一个窗口,进行容器的提交

    docker commit dotnet-libreoffice-test aspnet-libreoffice:6.0
    

这时候我们的镜像就制作好了,镜像名为aspnet-libreoffice:6.0

相关文章:

  • vue3 - swiper插件 实现PC端的 视频滑动功能(仿抖音短视频)
  • 宠物社区系统宠物领养小程序,宠物救助小程序系统多少钱?
  • 【打卡】牛客网:BM48 数据流中的中位数
  • OpenAI调查ChatGPT故障;向量搜索的优势与局限
  • 小程序微信登录授权突然没反应的原因和解决方案
  • 数据结构之双向链表
  • 在以BUF,字节存储区中,存放有n个带符号整数。试编写统计其中负偶数个数(假设≤9)并且显示。
  • 【Spring Boot 源码学习】初识 SpringApplication
  • 【开题报告】基于SpringBoot的高校实验室管理系统的设计与实现
  • Springboot项目部署及多环境开发
  • AlGaN/GaN HFET 五参数模型
  • deployment.yaml文件详解
  • Python Selenium元素定位方法详解
  • 【网络】TCP协议理论
  • idea报错java: 程序包com.alibaba.fastjson不存在,明明存在!
  • Android交互
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • CSS中外联样式表代表的含义
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • javascript 总结(常用工具类的封装)
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • mac修复ab及siege安装
  • Material Design
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • spring security oauth2 password授权模式
  • SQLServer插入数据
  • Vue2.0 实现互斥
  • vue的全局变量和全局拦截请求器
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 聊聊flink的TableFactory
  • 浅谈web中前端模板引擎的使用
  • 区块链将重新定义世界
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 移动端唤起键盘时取消position:fixed定位
  • 以太坊客户端Geth命令参数详解
  • 因为阿里,他们成了“杭漂”
  • 用简单代码看卷积组块发展
  • 进程与线程(三)——进程/线程间通信
  • ​ubuntu下安装kvm虚拟机
  • ${factoryList }后面有空格不影响
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (ros//EnvironmentVariables)ros环境变量
  • (独孤九剑)--文件系统
  • (六)vue-router+UI组件库
  • (转)Google的Objective-C编码规范
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .Net程序帮助文档制作
  • .NET命令行(CLI)常用命令
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——