DockerでJava16の環境構築をしていたら詰まったのでメモ。
詰まったところ
openjdkのjava16ベースのdockerfileでapt-getできない。
前提条件
- Docker 23.0.4
- windows11(wsl2)
やったこと・怒られ内容
以下のDockerfileを下記コマンドで実行したが、apt-get
が見つからないと怒られた。
FROM openjdk:16
RUN apt-get update \
&& apt-get install -y maven \
&& apt-get clean \
&& rm -rf /var/lib/apt-get/lists/*
docker image build --tag java-app .
/bin/sh: apt-get: command not found
原因
- イメージのlinuxディストリビューションがdebian系ではない
bash-4.4# ls /etc | grep red
redhat-release
対応したこと
Dockerfileを以下のように修正する。openjdkが非推奨だったのでeclipse-temurinを使う
FROM eclipse-temurin:16
RUN apt-get update \
&& apt-get install -y maven \
&& apt-get clean \
&& rm -rf /var/lib/apt-get/lists/*
docker image build --tag java-app .
docker container run \
--name java-container \
--interactive --tty --rm \
java-app bash
参考
追記
- 2023.05.30 誤記を修正しました。