LoginSignup
2

posted at

updated at

Organization

openjdkのjava16ベースのdockerfileでapt-getできない

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 誤記を修正しました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2