dockerfile使用jdk11镜像构建一个包含最新版的ffmpeg
时间: 2024-06-08 15:12:49 浏览: 149
你可以在 Dockerfile 中使用以下指令来构建一个包含最新版的 ffmpeg 的 JDK 11 镜像:
```
FROM openjdk:11-jdk
# 安装依赖包
RUN apt-get update && \
apt-get install -y --no-install-recommends \
wget \
gnupg \
software-properties-common \
build-essential
# 添加 ffmpeg 源
RUN wget -qO - https://www.johnvansickle.com/ffmpeg/release-key.txt | apt-key add - && \
echo "deb https://www.johnvansickle.com/ffmpeg/debian bullseye main" | tee -a /etc/apt/sources.list.d/ffmpeg.list && \
apt-get update
# 安装 ffmpeg
RUN apt-get install -y --no-install-recommends ffmpeg
# 清理缓存
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/*
```
这个 Dockerfile 首先基于 JDK 11 镜像构建,然后安装必要的依赖包和添加 ffmpeg 源,接着安装最新版的 ffmpeg,并最后清理缓存。
相关问题
dockerfile本地jdk镜像构建bws镜像
可以按照以下步骤构建本地JDK镜像并基于该镜像构建BWS镜像:
1. 在本地下载JDK安装包,例如 `jdk-8u291-linux-x64.tar.gz`。
2. 在本地创建一个目录,例如 `~/docker/jdk/`。
3. 将JDK安装包移动到该目录下。
4. 在该目录下创建一个 `Dockerfile` 文件,内容如下:
```
FROM ubuntu:latest
# 安装必要的软件包
RUN apt-get update && \
apt-get install -y wget && \
apt-get install -y tar && \
apt-get install -y gzip && \
apt-get install -y ca-certificates && \
apt-get install -y --no-install-recommends openjdk-8-jdk && \
apt-get clean
# 将JDK安装包复制到容器中
COPY jdk-8u291-linux-x64.tar.gz /opt/
# 解压JDK安装包并删除
RUN tar -xzf /opt/jdk-8u291-linux-x64.tar.gz -C /opt/ && \
rm /opt/jdk-8u291-linux-x64.tar.gz
# 设置环境变量
ENV JAVA_HOME /opt/jdk1.8.0_291
ENV PATH $JAVA_HOME/bin:$PATH
```
5. 在该目录下运行以下命令构建本地JDK镜像:
```
docker build -t myjdk:latest .
```
6. 在BWS项目根目录下创建一个 `Dockerfile` 文件,内容如下:
```
FROM myjdk:latest
# 将BWS发布包复制到容器中
COPY bws-1.0.0.tar.gz /opt/
# 解压BWS发布包并删除
RUN tar -xzf /opt/bws-1.0.0.tar.gz -C /opt/ && \
rm /opt/bws-1.0.0.tar.gz
# 设置环境变量
ENV BWS_HOME /opt/bws-1.0.0
ENV PATH $BWS_HOME/bin:$PATH
# 启动BWS
CMD ["sh", "-c", "cd $BWS_HOME/bin && ./startup.sh && tail -f $BWS_HOME/logs/catalina.out"]
```
7. 在BWS项目根目录下运行以下命令构建BWS镜像:
```
docker build -t mybws:latest .
```
这样就可以构建出基于本地JDK镜像的BWS镜像了。在运行BWS容器时,只需要使用 `mybws:latest` 镜像即可。
使用dockerfile制作jdk1.8的镜像
可以按照以下步骤使用Dockerfile制作JDK1.8的镜像:
1. 创建一个文件夹,例如jdk-1.8",在该文件夹下创建一个名为"Dockerfile"的文件。
2. 在Dockerfile文件中添加以下内容:
```
# 使用官方的 Java 8 镜像作为基础镜像
FROM java:8
# 设置工作目录
WORKDIR /app
# 将本地文件拷贝到容器内
COPY . /app
# 设置JAVA_HOME环境变量
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
# 设置PATH环境变量
ENV PATH $JAVA_HOME/bin:$PATH
```
3. 在同级目录下创建一个JDK1.8的安装包,例如"jdk-8u191-linux-x64.tar.gz"。
4. 在命令行中进入该文件夹,执行以下命令构建镜像:
```
docker build -t jdk8:latest .
```
其中,"."表示当前目录。
5. 等待镜像构建完成后,可以使用以下命令运行容器:
```
docker run -it --rm jdk8:latest
```
这将在容器内启动Java 8环境,并打印出Java版本信息。
阅读全文