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 Hub:保存并分享你的Docker镜像

Docker Hub 是一个基于云的注册服务网站,提供容器应用或容器服务的构建功能。

2516
来自专栏田飞雨的专栏

Docker 使用指南 (三)—— 网络配置

本文详细介绍了Docker网络配置的四个模式,以及模式下的具体配置操作。希望对入门,Docker的童鞋有所帮助。

4.4K0
来自专栏Kubernetes

docker container DNS配置介绍和源码分析

本文主要介绍了docker容器的DNS配置及其注意点,重点对docker 1.10发布的embedded DNS server进行了源码分析,看看embedde...

9317
来自专栏bboysoul

使用docker搭建zabbix

再次之前我们要知道zabbix的主要架构是怎样的,zabbix有一个server端是最主要的,主要是用来收集agent传来的数据然后进行处理等一系列操作,当然有...

2113
来自专栏魏艾斯博客www.vpsss.net

windows 下如何生成 tar 或 gz 压缩包

2904
来自专栏友弟技术工作室

macOS 安装 Docker

前几天,docker入门是在aws的ubuntu机器上演示的,下面介绍如何在macOS安装Docker。 ? 系统要求 Docker for Mac 要求系统最...

91411
来自专栏bboysoul

在docker中使用MySQL数据库

我是一直想把所有的程序都跑在docker里面,这样一方面是为了便于管理,另外一方面也可以增强自己对docker的理解,所以今天我就想学习一下最重要的数据库部分

1422
来自专栏Rainbond开源「容器云平台」

云帮两周问答集锦(2017.03.20-2017.04.02)

1023
来自专栏Coding01

通过 Laradock 学 Docker —— 配置篇

众所周知docker https://www.docker.com 是当前最火热的容器引擎,因为沙盒特性,即插即用和快速方便的部署能力受到广大用户的喜爱。

2004
来自专栏Bug生活2048

mac下利用docker部署个mysql

这个不多说,直接到官网下载对应的版本安装即可,在配置docker时最好切换阿里云镜像,具体步骤不细说,可参考之前的文章 .net core开发环境搭建中有提到如...

5102

扫码关注云+社区

领取腾讯云代金券