お問い合わせはこちら

DebianにDockerをインストール!構築手順とCompose設定まで解説

公開
DebianにDockerをインストールする方法

Debianでのコンテナ技術活用を検討されている皆様、Docker導入は開発環境の統一や本番環境との一貫性確保に欠かせません。

本記事では、サーバー用途のDocker Engineから、GUI操作が便利なDocker Desktop、複数コンテナ管理のためのDocker Composeまで、Debianにおける導入手順を詳しく解説します。Debianの安定性とDockerの柔軟性を組み合わせることで、効率的なシステム構築が可能になります。

なお、Debian自体の特徴については以下の記事で詳しく紹介していますので、併せてご覧ください。

【初心者向け】Debianの基礎から応用まで:サーバー管理者のためのステップアップガイド

【初心者向け】Debianの基礎から応用まで:サーバー管理者のためのステップアップガイド

現在のサーバーOSには安定性やセキュリティ対策、高額なライセンス費用など様々な課題があります。 これらを解決し、堅牢で信頼性の高いインフラを構築したいと考えるサーバー管理者の方にとって、オープンソースOSの代表格であるDebian(デビアン)が有力な選択肢となります。 この記事では、Debianの基本的な知識から、日々の運用に役立つ管理方法までを網羅的に解説します。この記事を通じて、Debianが…

【月額20円~】Debianにも対応のVPS!

Docker導入前に知っておくべき基礎

Dockerを導入する前に、いくつかの基礎知識を押さえておくことが重要です。

Dockerはコンテナ技術を用いて、アプリケーションの実行環境を隔離する仕組みを提供します。コンテナとはホストOSのカーネルを共有しながら分離された環境を実現する軽量な仕組みです。仮想マシンとよく似ていますがゲストOSの有無が異なります。

Debian上でDockerを動かすと、安定性が高いなどのメリットがあります。まず理解すべきは、DockerにはEngine版とDesktop版の2種類があり、サーバー用途ならEngine、GUI操作を重視するならDesktop版が適しているという点です。

Dockerを使うことで、開発環境と本番環境の差異を最小限に抑え、「自分の環境では動くのに」という問題を解決できます。さらに、マイクロサービスアーキテクチャの実現やCI/CDパイプラインとの連携も容易になります。これからDockerを学ぶ際は、イメージとコンテナの違い、レイヤー構造、ネットワーキングの基本概念も押さえておくと良いでしょう。

Debianとコンテナ技術の相性

Debianはその安定性と信頼性の高さから、コンテナ技術との相性が非常に優れています。

特にDockerはDebianのカーネルを直接共有して動作するため、仮想マシンと異なり余分なゲストOSを必要とせず、システムリソースの消費を大幅に抑えられます。この軽量さにより、同じハードウェア上でより多くのアプリケーションを高速に実行できるのです。Debianの堅牢な基盤とDockerのコンテナ化技術を組み合わせることで、開発環境から本番環境まで一貫した再現性の高いシステム構築が可能になります。

環境依存の「動作しない問題」からも解放されるでしょう。技術的には、Debian上のDockerはDocker Engine、containerd、runcといった複数のコンポーネントから構成されており、これらが連携してコンテナのライフサイクル管理を担っています。特にDebianの長期サポート(LTS)版との組み合わせは、安定した運用基盤として多くの企業に採用されています。

サーバー用途とデスクトップ用途の違い

Dockerをインストールする際、使用環境に応じた選択が重要です。サーバー環境では軽量で効率的なリソース管理が求められるため、コマンドラインベースの「Docker Engine」が最適です。

一方、開発者のデスクトップ環境では、視覚的な管理ツールが作業効率を高めるため「Docker Desktop」が便利です。

Docker Desktopは単なるGUIではなく、Docker Engine、Docker CLI、Docker Compose、さらにはKubernetesまでをオールインワンパッケージとして提供しています。

これにより、コンテナの作成・管理・監視が直感的に行えるようになります。ヘッドレスサーバーでは不要な機能も多いため、リソースを節約したいなら Engine のみの導入が賢明です。

自身のユースケースを明確にし、サーバー運用が主目的ならDocker Engine、開発作業や学習が目的ならDocker Desktopを選択するとよいでしょう。適切な選択がスムーズなDocker体験への第一歩となります。

Dockerのインストールを始める前の事前準備

dockerのimage

Docker Engineをインストールする前に、いくつかの重要な準備作業を行うことで、スムーズな導入が可能になります。

まず、お使いのDebianシステムが最新の状態であることを確認しましょう。「apt update」と「apt upgrade」コマンドを実行して、システム全体を更新することが重要です。次に、以前にDockerの古いバージョンをインストールしていた場合は、それらを完全に削除する必要があります。古いパッケージが残っていると、新しいインストールと競合する可能性があるためです。ま

た、Dockerが正常に動作するために必要なカーネルのバージョンやアーキテクチャの確認も欠かせません。さらに、必要なディスク容量やメモリが十分にあるか確認しておくと安心です。これらの準備を丁寧に行うことで、後のインストール手順がスムーズに進み、トラブルを未然に防ぐことができます。

システム要件と環境の確認

Docker Engineをインストールする前に、お使いのシステムが最低要件を満たしているか確認しましょう。

まず、ターミナルを開き、以下のコマンドを実行してアーキテクチャを確認しましょう。

uname -a
アーキテクチャの確認画面

Dockerは64ビットバージョンのDebianが必要です。32ビット環境では動作しませんのでご注意ください。出力に「x86_64」や「amd64」が表示されていれば64ビット環境です。また、以下のコマンドでDebianのバージョンを確認できます。

cat /etc/os-release

古いパッケージの削除とクリーンアップ

Debian系システムに新しくDocker Engineをインストールする前に、過去のバージョンが残っていないか確認することが重要です。

古いDocker関連パッケージ(docker、docker-engine、docker.io、containerd、runc)が存在すると、新規インストールと競合してトラブルの原因となります。これらを完全に削除するには、以下のコマンドを実行しましょう。

sudo apt-get remove docker docker-engine docker.io containerd runc」

このコマンドを実行しても、/var/lib/docker/内のイメージやコンテナ、ボリュームなどは保持されます。

古いDocker関連パッケージの削除

もし完全にクリーンな状態から始めたい場合は、以下のコマンドで関連ディレクトリも削除できます。

sudo rm -rf /var/lib/docker

特にプロダクション環境では、このクリーンアップステップを省略せず、確実に古いバージョンの痕跡を取り除いておくことで、後々のトラブルを未然に防ぐことができます。

Docker Engineをインストールする手順

Docker Engineのインストールは、公式リポジトリを活用することで最新バージョンを確実に導入できます。まず、ca-certificatesなどのパッケージを必要に応じてインストールし、システムがHTTPS経由でリポジトリにアクセスできる環境を整えます。

次に、Dockerの公式GPG鍵を取得して登録することで、パッケージの信頼性を確保します。その後、Dockerの公式リポジトリをAPTソースリストに追加し、apt updateコマンドでパッケージ情報を更新します。これらの準備が整ったら、「apt install docker-ce」コマンドでDocker Engineをインストールできます。

インストール完了後は、systemctlコマンドを使ってDockerサービスを起動し、自動起動の設定も行いましょう。CUI環境に慣れたサーバー管理者であれば、これらのコマンドを順番に実行するだけで、安全かつ最新のDocker環境を構築できます。

必須パッケージの導入とGPG鍵の追加

Docker Engineをインストールするには、まず必要に応じて事前のパッケージをシステムに導入する必要があります。

1. aptコマンドを使って「ca-certificates」「curl」「gnupg」などのパッケージをインストールしましょう。

sudo apt update
sudo apt install -y ca-certificates curl gnupg

これらはHTTPS経由でリポジトリにアクセスし、暗号化された通信を可能にするコンポーネントです。

必要なパッケージのインストール

2. 次に、Dockerの公式GPG鍵をダウンロードしてシステムに追加します。

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

このステップはセキュリティ上非常に重要で、パッケージの改ざんを防ぎ、信頼できるソースからのみソフトウェアをインストールするために必須です。

3. 鍵の追加後は「apt update」コマンドを実行し、パッケージリストを最新の状態に更新しておきましょう。

これにより、次のセクションでDocker関連パッケージを正しくインストールする準備が整います。GPG鍵の追加は一度だけ行えば良いですが、システムアップデート時に鍵が期限切れになった場合は再度追加が必要になることもあります。

公式リポジトリのセットアップと登録

Docker公式リポジトリの設定は、安定したパッケージ提供のために必要です。

1. まず、お使いのDebianディストリビューションに合わせたリポジトリを追加します。以下のコマンドを実行してください。

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

リポジトリを追加したら、次を実行して、システムにリポジトリ情報を認識させましょう。

sudo apt update
リポジトリ情報を認識させる

この時点でエラーが表示されなければ、公式リポジトリの登録は成功です。これにより、常に最新かつ安定したDockerパッケージにアクセスできるようになります。

最新版エンジンのインストールと起動

必要なパッケージの準備が整ったら、いよいよDocker Engineのインストールに移ります。

1. ターミナルで次のコマンドを実行しましょう。

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2. 上記のコマンドでDockerの本体とCLIツール、コンテナランタイムなどが一括でインストールされます。

インストールの様子

インストールが完了すると、Dockerサービスは自動的に起動します。正常に起動したか確認するには次のコマンドを実行してください。

sudo systemctl status docker

3. 特定のバージョンをインストールしたい場合は、次のコマンドでインストールできます。

apt-cache madison docker-ce
sudo apt-get install docker-ce=<バージョン>
docker-ce-cli=<バージョン>
containerd.io

4. インストールが完了したら、試しに以下のコマンドを実行して、Dockerが正常に動作していることを確認してみましょう。

sudo docker run hello-world

Docker Desktopを利用する導入手順

Docker Desktopは、GUIベースの操作でDockerを直感的に扱いたいデスクトップユーザーにとって理想的なツールです。コマンドラインが苦手な方でも、視覚的にコンテナやイメージを管理できるため、Debian上でのDocker活用が格段に簡単になります。

特にGNOMEやKDEなどのデスクトップ環境を利用している場合、Docker Desktopの導入によってコンテナ管理の効率が飛躍的に向上します。インストール自体もGUIベースで進められるため、コマンドラインに不慣れな開発者やシステム管理者でも迷うことなく設定できます。

また、Docker Desktopには便利な機能が多数搭載されており、ダッシュボードからコンテナの状態監視やリソース使用状況の確認も一目瞭然です。Kubernetesとの統合機能も備わっているため、より複雑なコンテナオーケストレーションにも対応できます。

デスクトップ環境における要件の確認

Docker Desktopを導入する前に、デスクトップ環境の要件を確認しておくことが重要です。

  1. まず、グラフィカルインターフェースが必須となるため、X Window SystemやWaylandなどのディスプレイサーバーが正常に動作していることを確認してください。特にGNOME環境を利用している場合は、GNOME端末(gnome-terminal)がインストールされていることを確認しましょう。
  2. また、システムトレイにDockerの状態を表示するために、GNOMEではAppIndicatorやKStatusNotifierItemといった拡張機能が必要になるケースがあります。これらはGNOME拡張機能マネージャーからインストール可能です。メモリについては最低4GB以上、推奨は8GB以上が必要です。
  3. さらに、Tech Preview版やベータ版が既にインストールされている場合は、新しいバージョンをインストールする前に完全に削除しておくことが重要です。これにより、設定の競合や予期せぬエラーを防ぐことができます。KDE環境を使用している場合は、追加の設定が不要なことが多いですが、最新のPlasmaデスクトップ環境を使用することをお勧めします。

DEBパッケージの取得とインストール

Docker Desktopをインストールするには、まずDocker公式サイトからDebian用の最新DEBパッケージをダウンロードする必要があります。

  1. ブラウザで公式サイトにアクセスし、「Docker Desktop for Debian」を選択して、お使いのアーキテクチャ(amd64やarm64など)に合ったdocker-desktop-<version>-<arch>.debファイルを入手しましょう。
  2. ダウンロードが完了したら、ターミナルを開き、ダウンロードしたディレクトリに移動します。
  3. 次に以下のコマンドを実行してインストールを開始します。
sudo apt install ./docker-desktop-<version>-<arch>.deb

インストール中に依存関係が自動的に解決されますので、プロンプトが表示されたら「Y」を入力して続行してください。インストールの最後に「サンドボックス化されていないダウンロードに関する警告」が表示されることがありますが、これは無視しても問題ありません。この警告はセキュリティに関するもので、通常の使用には影響しないためです。

インストールが完了すると、アプリケーションメニューにDocker Desktopが追加されます。

アプリケーションの起動と初期設定

Docker Desktopのインストールが完了したら、アプリケーションメニューから「Docker Desktop」アイコンをクリックして起動しましょう。Debianの場合、通常はアプリケーションメニューの「開発」または「システムツール」カテゴリに配置されています。

Docker Desktopの起動画面

初回起動時には、Dockerサブスクリプション契約への同意画面が表示されるため、内容を確認して同意する必要があります。また、診断データの収集についての選択画面も表示されますので、ご自身の判断で設定してください。GUI環境を使わない場合は、ターミナルから「systemctl –user start docker-desktop」コマンドを実行することでも起動できます。

毎回のログイン時に自動的にDocker Desktopを起動させたい場合は、アプリケーションの設定画面から「Start Docker Desktop when you log in」オプションを有効にしておくと便利です。初期設定が完了すると、Docker Engineが正常に動作し、コンテナの作成や管理が可能になります。

Docker Composeのセットアップ方法

Docker Composeは複数のコンテナを一括管理するための必須ツールです。Debian環境でのDocker導入が完了したら、次はComposeのセットアップに進みましょう。最新のDocker Engineではプラグイン形式でComposeが提供されており、以前のような別途インストールは不要になりました。

「docker compose」コマンドを使用することで、複雑なマルチコンテナアプリケーションも簡単に構築・管理できます。YAMLファイル一つで環境全体を定義できるため、開発からテスト、本番環境まで一貫した構成を維持できるのが大きな利点です。

Composeを使えば、データベース、ウェブサーバー、キャッシュサーバーなど複数のサービスを連携させた環境を、コマンド一つで起動できるようになります。特にマイクロサービスアーキテクチャを採用するプロジェクトでは、作業効率が飛躍的に向上するでしょう。

プラグインによるComposeのインストール

Docker Compose は現在、Docker CLI のプラグインとして提供されており、最新の Docker 環境では非常に簡単にインストールできます。Docker Engine をインストールした際に、多くの場合 Compose プラグインも一緒にインストールされていますが、もし含まれていない場合は以下のコマンドで簡単に追加できます。

apt install docker-compose-plugin
Compose プラグインのインストール

インストール後は `docker compose` という形式でコマンドを実行できるようになります。

なお、Docker Desktop をすでにインストールしている場合は、Compose 機能が標準で組み込まれているため、追加のインストール作業は不要です。古いバージョンの docker-compose コマンド(ハイフン付き)から移行する場合でも、ほとんどの構文は互換性があるため安心して使用できます。プラグインベースの Compose は、パフォーマンスが向上し、Docker エコシステムとの統合がより緊密になっているため、新規インストールではこちらを選択することをお勧めします。

バージョンの確認と正常動作のテスト

Docker Composeのインストールが完了したら、必ず正常に動作するか確認しましょう。確認方法は簡単で、ターミナルで、以下のコマンドを実行するだけです。

docker compose version

このコマンドを実行すると、インストールされたDocker Composeのバージョン情報が表示されます。

Docker Composeのバージョン情報

以前のバージョンでは「docker-compose」(ハイフンあり)という形式でしたが、最新版では「docker compose」(ハイフンなし)という形式に変更されていることに注意してください。

古いチュートリアルやドキュメントを参照している場合は、このコマンドの違いに気をつけましょう。バージョン情報が正しく表示されれば、Docker Composeが正常にインストールされた証拠です。さらに動作を確認するには、簡単なdocker-compose.ymlファイルを作成して以下のコマンドを実行してみましょう。

docker compose up

エラーなく起動すれば、実際の開発やデプロイに向けて準備完了です。

Dockerインストール後の動作確認と初期設定

Dockerをインストールした後は、正常に動作しているか確認し、快適に使用できるよう初期設定を行うことが重要です。まず、以下のコマンドを実行して、Dockerエンジンが正しく機能しているか確認しましょう次に、毎回sudoを使わずにDockerコマンドを実行できるよう、現在のユーザーをdockerグループに追加します。また、システム起動時にDockerが自動的に起動するようにしておくと便利です。これらの初期設定を完了させることで、Dockerをより効率的に日常業務で活用できるようになります。

Hello Worldイメージによる動作テスト

Dockerのインストールが完了したら、まず最初に行うべきは動作確認です。最も簡単な方法は以下のコマンドを実行することです。

docker run hello-world

このコマンドを入力すると、Dockerは自動的にHello Worldイメージをダウンロードし、コンテナを作成して実行します。初回実行時には「Unable to find image ‘hello-world:latest’ locally」というメッセージが表示され、Docker Hubから自動的にイメージがダウンロードされます。その後、「Hello from Docker!」というメッセージと共に、Dockerの動作プロセスについての説明が表示されます。

このメッセージが正常に表示されれば、Dockerデーモンとクライアントが正しく通信できていることを意味します。さらに、次のコマンドを実行すれば、ダウンロードされたhello-worldイメージが確認できます。

docker images

この簡単なテストはDockerの基本的な機能—イメージのダウンロード、コンテナの作成と実行、そして結果の出力—が正常に動作していることを確認する重要なステップです。

一般ユーザーで利用するための権限設定

Dockerをインストールした直後は、rootユーザーかsudoコマンドを使用しないとDockerコマンドを実行できません。

これは毎回sudoを入力する手間が発生するため、開発効率が下がってしまいます。この問題を解決するには、現在ログインしている一般ユーザーをdockerグループに追加する方法があります。

sudo usermod -aG docker $USER

上記コマンドを実行することで、ユーザーをdockerグループに追加できます。この設定を反映させるには、一度ログアウトして再ログインするか、次のコマンドで即時に反映させることも可能です。

newgrp docker
dockerグループ追加の即時追加

ただし、dockerグループのメンバーはroot権限と同等の強力な権限を持つことになるため、信頼できるユーザーのみを追加するようにしましょう。セキュリティリスクを考慮した上で、開発環境では便利さを優先し、本番環境ではより厳格な権限管理を行うというバランスが重要です。

Dockerで頻繁に使用する基本的な操作コマンド

Dockerをインストールしたら、次は基本的な操作コマンドをマスターしましょう。日常的に使用する頻度が高いコマンドを知っておくことで、作業効率が格段に向上します。

まず「docker pull」コマンドでDockerHubからイメージを取得できます。取得したイメージは「docker images」で一覧確認が可能です。コンテナの作成と起動は「docker run」で行い、バックグラウンド実行したい場合は「-d」オプションを追加します。

実行中のコンテナ確認には「docker ps」、停止したコンテナも含めて表示するには「docker ps -a」を使用します。コンテナの停止は「docker stop」、再開は「docker start」で行えます。不要になったコンテナは「docker rm」で、イメージは「docker rmi」で削除できます。これらの基本コマンドを使いこなせるようになれば、Dockerの基本的な操作はスムーズに行えるようになります。

イメージの取得とコンテナの作成

Dockerの基本操作として最初に覚えるべきは「イメージの取得」と「コンテナの作成」です。イメージを取得するには以下のコマンドを使用します。

docker pull

例えば「docker pull ubuntu:latest」と実行すると、最新のUbuntuイメージがダウンロードされます。独自のイメージを作りたい場合は、Dockerfileを作成し「docker image build -t イメージ名 .」でビルドできます。

Ubuntuイメージのダウンロード

イメージができたら、次は以下のコマンドでコンテナを起動しましょう。

docker container run

例えば、以下のコマンドにより、Ubuntuコンテナが起動してシェルに入れます。

docker container run -it ubuntu:latest bash

イメージ一覧は「docker images」、コンテナ一覧は「docker ps -a」で確認できます。

コンテナの起動・停止と削除の操作

Dockerを使いこなすには、コンテナのライフサイクル管理が欠かせません。

  • 稼働中のコンテナを確認:docker ps
  • 稼働中・停止中のものも含めて確認:docker ps -a
  • コンテナの起動:docker container start コンテナID
  • コンテナの停止:docker container stop コンテナID
  • コンテナを強制終了:docker container kill
  • コンテナの削除:docker container rm コンテナID
  • 稼働中のコンテナを削除:docker container rm -f コンテナID
  • 稼働中のコンテナ内でコマンドを実行したい場合:docker container exec -it コンテナID /bin/bash

上記の基本操作コマンドを覚えておくことで、日常的なDocker管理が格段に効率化されるでしょう。

まとめ

DebianにDockerを導入する方法を詳しく解説してきました。

Docker EngineとDocker Desktopの両方のインストール手順を理解することで、サーバー環境からデスクトップ環境まで幅広く活用できます。

事前準備からインストール、初期設定、基本操作まで一連の流れを把握することが重要です。特に権限設定や動作確認のステップを丁寧に行うことで、トラブルなくDockerを使い始めることができます。

コンテナ技術の利点を最大限に活かして、効率的な開発・運用環境を構築してください。今回の手順を参考に、ぜひDebianでのDocker活用を始めてみましょう。

日額 20円 で使えるVPS

開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS

カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。