このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker超入門:よくあるエラーと解決策④|コマンドの間違いによるビルドエラーの原因と修正方法

よくあるエラーと解決策④|コマンドの間違いによるビルドエラーの原因と修正方法

Dockerfileを作るとき、「あれ?コマンドが違うって言われた?」なんて経験、ありませんか?
 ちょっとした書き間違いや、ベースイメージごとのコマンド違いでビルドが止まってしまうことは、よくあることです。

今回は、Alpine Linuxで「apt-getコマンド」を使ってしまった例を通して、
コマンドの間違いによるビルドエラーの原因と修正方法をやさしく解説していきます。

作業前のクリーンアップ

まずはDocker環境を整理しておきましょう。
以前のテストで作ったコンテナやイメージが残っていると、思わぬ動作の原因になることがあります。

次のコマンドを実行して、不要なオブジェクトを削除します👇

docker system prune -a --volumes

このコマンドは、Dockerの中を“お掃除”してくれる便利なコマンドです。

オプション内容
-a停止中のコンテナや使われていないイメージを削除します。
--volumes未使用のボリュームも一緒に削除します。

実行結果

PS C:\Users\joeac\Desktop\docker\error1> docker system prune -a --volumes
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all anonymous volumes not used by at least one container
  - all images without at least one container associated to them
  - all build cache

Are you sure you want to continue? [y/N] y

もしボリュームなどが残っている場合は、Docker DesktopのGUIから削除してもOKです。
クリック操作で確認できるので安心です😊

作業用ディレクトリの準備

次に、作業するためのフォルダを作ります。
PowerShellで次のコマンドを順番に実行します👇

cd desktop/docker
mkdir error4
cd error4

実行結果

PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker> mkdir error4

    Directory: C:\Users\joeac\Desktop\docker

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2025/10/25    17:38                error4

PS C:\Users\joeac\Desktop\docker> cd error4
PS C:\Users\joeac\Desktop\docker\error4>

これで、「C:\Users\ユーザー名\Desktop\docker\error4」フォルダができました。
ここにDockerfileを作って作業していきます。

Dockerfileの作成(間違いのある例)

VSCodeを開いてDockerfileを作成します。

code Dockerfile

VSCodeが開いたら、次の内容を入力して保存します👇

# ベースイメージの指定
FROM alpine:latest

# イメージの更新とPythonのインストール
RUN apt-get update && apt-get install -y \
    python3 \
    && rm -rf /var/lib/apt/lists/*

このDockerfileの間違いは、Alpine Linuxでapt-getを使っていることです。

実は、apt-getDebian系(Ubuntuなど)のLinuxで使うコマンドです。
一方、Alpine Linuxでは、apkというパッケージマネージャを使います。

イメージをビルドしてみる

では、この間違ったDockerfileのままビルドをしてみましょう。

docker image build -t alpine:v1 .

※ 最後の「 . 」は「カレントディレクトリ」を意味します。忘れないように注意!

出力結果には、次のようなエラーが出ます👇

(省略)
0.342 /bin/sh: apt-get: not found
ERROR: failed to solve: process "/bin/sh -c apt-get update && apt-get install -y python3 && rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 127
(省略)

英語で少し難しそうですが、要するに
「apt-getというコマンドが見つかりません」
という意味です。

つまり、Alpine Linuxにはapt-getがインストールされていないため、ビルドに失敗しているんですね。

エラー内容を読み取るコツ

エラーメッセージには、実はたくさんのヒントが書かれています。
次の部分に注目してみましょう👇

0.342  /bin/sh: apt-get: not found

ここで、「apt-getコマンドが見つからない」と明確に書かれています。
Dockerは丁寧にどのステップで失敗したかを表示してくれるので、
「どの行で」「何が見つからないのか」を確認するのがポイントです。

Dockerfileの修正版

では、正しいDockerfileに直してみましょう。

VSCodeを開いてDockerfileを作成します。

code Dockerfile

VSCodeが開いたら、次の内容を変更して保存します👇

# ベースイメージの指定
FROM alpine:latest

# イメージの更新とPythonのインストール
RUN apk update && apk add --no-cache \
    python3

Alpine Linuxでは、apkというコマンドを使ってパッケージを管理します。

コマンドの意味を整理してみましょう👇

コマンド内容
apk updateパッケージリストを更新します。
apk add新しいパッケージをインストールします。
--no-cacheキャッシュを残さずにインストールします。
python3インストールするパッケージ名です。

これで、Alpine Linuxでも正しくPythonをインストールできます。

修正版で再ビルド!

では、修正したDockerfileで再度ビルドしてみましょう。

docker image build -t alpine:v1 .

出力結果が次のように表示されれば成功です✨

PS C:\Users\joeac\Desktop\docker\error4> docker image build -t alpine:v1 .
[+] Building 6.3s (6/6) FINISHED                            docker:desktop-linux
(省略)

Alpine LinuxにPythonが正常にインストールされました🎉

コンテナの実行と確認

ビルドが成功したら、作ったイメージからコンテナを動かしてみましょう。

docker container run --rm alpine:v1 python3 --version
オプション内容
--rm実行後にコンテナを自動削除します。
python3 --versionPythonのバージョンを確認します。

実行結果

Python 3.12.12

Pythonのバージョンが表示されれば成功です!
これで、正しくビルドされたことが確認できました✨

まとめ

今回のエラーの原因は、ベースイメージの種類に合わせたコマンドを使わなかったことでした。

覚えておきたいポイント👇

  1. Ubuntu系(Debian系) → apt-get
  2. Alpine系 → apk
  3. エラー文をよく読むとヒントがある!

Dockerfileのビルドエラーは怖くありません。
慌てずに、どのコマンドで止まっているかをチェックして修正すれば、必ず解決できます😊

これで「コマンドの間違いによるビルドエラー」もバッチリ解決です!
 次からは、ベースイメージに合ったパッケージマネージャを選んで、スムーズにDockerfileを書いていきましょう👍