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
最后编辑:Jeebiz 更新时间:2023-04-27 11:23