[英]Install Java runtime in Debian based docker image
我正在嘗試在基於 Debian 的 docker 圖像 (mcr.microsoft.com/do.net/core/sdk:3.1-buster) 中安裝 java 運行時。 根據各種方法,這應該可以通過運行
RUN apt update
RUN apt-get install openjdk-11-jre
后一個命令返回
E: Unable to locate package openjdk-11-jre
但是根據https://packages.debian.org/buster/openjdk-11-jre package 確實存在。 我究竟做錯了什么?
不確定您從哪個圖像中提取。 我用的是苗條的Dockerfile 。
from debian:buster-slim
ENV DEBIAN_FRONTEND=noninteractive
RUN mkdir -p /usr/share/man/man1 /usr/share/man/man2
RUN apt-get update && \
apt-get install -y --no-install-recommends \
openjdk-11-jre
# Prints installed java version, just for checking
RUN java --version
注意:如果你不運行mkdir -p /usr/share/man/man1 /usr/share/man/man2
你會遇到 ca-certificates、openjdk-11-jre-headless 等的依賴問題。我一直在使用社區提供的這個修復程序,還沒有真正檢查過永久修復程序。
我想為我的 C# 項目從我的 dockerfile 安裝 Java 運行時。有人可以幫我嗎? 目前我有這個 dockerfile 它在 dotnet core3.1 上完美運行
FROM public.ecr.aws/lambda/dotnet:core3.1 AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR .
COPY ["ScenarioRunner/ScenarioRunner.csproj", "ScenarioRunner/"]
COPY ["Scenarios/Scenarios.csproj", "Scenarios/"]
RUN dotnet restore "ScenarioRunner/ScenarioRunner.csproj"
COPY . .
WORKDIR "ScenarioRunner"
RUN dotnet build "ScenarioRunner.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "ScenarioRunner.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /var/task
COPY --from=publish /app/publish .
CMD ["ScenarioRunner::ScenarioRunner.ScenarioRunnerFunction::FunctionHandlerAsync"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.