docker安装ffmpeg,alpine/ubuntu安装ffmpeg

docker安装ffmpeg,alpine/Ubuntu安装ffmpeg

这段时间项目中用到了ffmpeg,我们的项目是通过docker来部署的,我的tomcat基础镜像有的是Ubuntu,还有的是alpine,就遇到了一个问题,有时候会安装失败。接下来给大家带来安装教程-docker环境下。

一、alpine安装ffmpeg

alpine镜像比较小,所以后面在docker方面可能用的比较多。

  • alpine软件包管理工具apk的基本使用
#查询openssh相关的软件包
apk search  openssh   
#安装一个软件包
apk add  xxx   
#删除已安装的xxx软件包
apk del  xxx   
#获取更多apk包管理的命令参数
apk --help   
#比如安装常用的网络相关工具:
#更新软件包索引文件
apk update    
#用于文本方式查看网页,用于测试http协议
apk add curl  
  • alpine国内安装源

alpine安装的安装源貌似国内访问不到,我们服务器是访问不到的,需要更换为国内源,推荐使用阿里云的源。

# Alpine的源文件为:
/etc/apk/repositories

#可以编辑源文件 /etc/apk/repositories,
#采用国内阿里云的源,文件内容为:
https://mirrors.aliyun.com/alpine/v3.6/main/
https://mirrors.aliyun.com/alpine/v3.6/community/

# 如果采用中国科技大学的源,文件内容为:
https://mirrors.ustc.edu.cn/alpine/v3.6/main/
https://mirrors.ustc.edu.cn/alpine/v3.6/community/
  • docker中使用

1、这个是安装源的地址,因为默认的源无法使用,所以就把它注释掉,然后加入阿里的安装源

sources.list

#http://dl-cdn.alpinelinux.org/alpine/v3.7/main
#http://dl-cdn.alpinelinux.org/alpine/v3.7/community
https://mirrors.aliyun.com/alpine/v3.6/main/
https://mirrors.aliyun.com/alpine/v3.6/community/

2、编写Dockerfile,结合自己的项目进行修改。

先把sources.list拷贝到tomcat目录下,然后用cat把源文件覆盖,记住这里 cat 后面是一个 > 哦,如果是两个 >> 就是从后边追加。一个表示是拷贝文件里的内容,从第一行开始拷贝,覆盖之前的内容。更换完安装源后,要先update一下,然后安装ffmpeg,因为ffmpeg依赖yasm ,所以要先安装yasm 。

Dockerfile

FROM frolvlad/alpine-oraclejdk8

#更改安装源
COPY sources.list $CATALINA_HOME/
RUN cat $CATALINA_HOME/sources.list > /etc/apk/repositories

#更新源,安装yasm ffmpeg
RUN apk update
RUN apk add yasm && apk add ffmpeg

ADD ./trcloud-personal-note-1.0.0.jar  /trcloud-personal-note.jar
EXPOSE 8971
CMD ["java","-jar","/trcloud-personal-note.jar"]

注意:因为windows文件编码和linux编码不同,所以尽量在linux下创建Dockerfile和sources.list,然后用vi编辑。


二、ubuntu安装ffmpeg

1、这个是阿里的安装源

sources.list

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse  
##测试版源  
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse  
# 源码  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse  
##测试版源  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse  

2、编写Dockerfile

下面是我们的Dockerfile,结合自己的项目进行修改。更换完安装源后,要先update一下,然后安装ffmpeg,因为ffmpeg依赖yasm ,所以要先安装yasm 。

cat $CATALINA_HOME/sources.list >> /etc/apt/sources.list

注意:这块是 >> ,因为只用阿里的源安装ffmpeg会失败,所以要保留原来的源地址,只是把阿里的源地址追加到原来的源后边。

Dockerfile

FROM tomcat:7.0.76-jre8
MAINTAINER bettysboy "yasaka@trgis.com"

#设置Java环境变量
ENV JAVA_OPTS -server -Xms512M -Xmx2048M -Duser.timezone="Asia/Shanghai"

#配置服务器参数
COPY server.xml $CATALINA_HOME/conf/server.xml
COPY web.xml $CATALINA_HOME/conf/web.xml

#拷贝程序包到服务器
COPY akymbq.war $CATALINA_HOME/webapps/webapp.war
RUN rm -rf $CATALINA_HOME/webapps/ROOT

#更改安装源
COPY sources.list $CATALINA_HOME/
RUN cat $CATALINA_HOME/sources.list >> /etc/apt/sources.list

#更新源,安装yasm ffmpeg
RUN apt-get update
RUN apt-get -y --force-yes install yasm ffmpeg
EXPOSE 8080

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程坑太多

『中级篇』Docker compose 部署一个复杂的应用(41)

我更新了worker目录下的Dockerfile文件,使用阿里云maven仓库地址覆盖了原来的maven地址。我是先找到docker所在的容器,通过instal...

381
来自专栏从零开始的linux

rpm命令

安装rpm软件 # rpm -ivh /mnt/Packages/lrzsz0.12.2036.el7.x86_64.rpm # rpm --help-i,--...

2765
来自专栏Python、Flask、Django

Docker精简项目(Python3.6+Flask1.0+Pipenv)

1402
来自专栏施炯的IoT开发专栏

控制Arduino的利器-Windows Remote Arduino

1. 概述     相信很多朋友已经在玩 Arduino了,而且一般都是使用官方的Arduino IDE来写程序控制Arduino硬件。为了能够实现更加方便的控...

1947
来自专栏北京马哥教育

docker容器技术系列五:Dockerfile详解

本系列教程由旺旺知识库授权进行发布 Dockerfile是一个具有规范格式的文件,根据适当的指令和语法,我们可以构建一个自定以镜像。但Dockerfile需要...

41712
来自专栏技术博文

YUM查询软件信息

我们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。你可以用yum search keyw...

26610
来自专栏Python、Flask、Django

Docker部署java项目[tomcat环境][第一次优化]

1763
来自专栏编程坑太多

『中级篇』Docker compose 部署一个复杂的应用(41)

我更新了worker目录下的Dockerfile文件,使用阿里云maven仓库地址覆盖了原来的maven地址。我是先找到docker所在的容器,通过instal...

1105
来自专栏张伟博客

ubuntu安装软件和查看已安装软件

3904

Windows 平台 Docker Machine 使用 - 如何设置你的主机

最近我一直在玩Docker。其中有许多原因,可以肯定的一点是:我喜欢玩最新的技术,甚至帮助构建一两个演示版或一个实验环境。我在Windows上运行我的设置,这是...

23110

扫码关注云+社区