0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Docker】ベースイメージで使用するパッケージマネージャと確認方法

Last updated at Posted at 2024-08-17

Dockerfiでイメージを使用する際、ベースイメージに含まれるパッケージマネージャを正しく理解しておくことが重要です。この記事では、ベースイメージのOSに基づいて適切なパッケージマネージャを確認する方法を紹介します。

ベースイメージに含まれるパッケージマネージャの確認方法

1. Nginxイメージをbashで起動

まず、NginxのDockerイメージをbashで起動します。これにより、コンテナ内でコマンドを実行できるようになります。

docker run -it nginx:latest bash

2. OSのバージョン確認

次に、コンテナ内で以下のコマンドを実行し、使用されているOSのバージョンを確認します。

cat /etc/os-release

実行結果は以下の通りです。

root@dfe351b5662d:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@dfe351b5662d:/#

この結果から、nginx:latestイメージは Debian 12 (bookworm) をベースにしていることがわかります。

※ Debianのコードネームは映画「Toy Story」のキャラクターからつけられており、Debian 12のコードネーム"Bookworm"は、図書室の主である眼鏡をかけたイモムシです。ちなみに、Debain 13のコードネームはTrixie、Debian 14のコードネームはForkyに決まっています。

3. パッケージマネージャの確認とDockerfileの作成

Debian系のディストリビューションでは、aptが標準のパッケージマネージャです。そのため、以下のコマンドでパッケージを管理できます。

例えば、Dockerfileでvimをインストールする場合は、

RUN apt update
RUN apt install -y vim

とこんな感じに書きます。

Alpineベースのイメージ (nginx:alpine)

コンテナを起動してshシェルにアクセスします。

docker run -it nginx:alpine sh

コンテナ内でOSのバージョンを確認します。

cat /etc/os-release

実行結果は以下の通りです。

NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.20.2
PRETTY_NAME="Alpine Linux v3.20"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"

Alpine Linuxapkを使用するので、apkを使ってパッケージを管理します。

apk update
apk add vim
0
0
0

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
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?