Ubuntu に Docker をインストールする (4 つの簡単な方法)

公開: 2022-12-05

Docker は、コンテナーと呼ばれるパッケージでソフトウェアを開発および展開するための一般的なツールです。 Ubuntu は最も人気のある Linux ディストリビューションの 1 つであり、Docker によって十分にサポートされているオペレーティング システムです。

Ubuntu に Docker をインストールすると、Ubuntu のオペレーティング システム カーネルを共有する軽量の仮想マシンを使用して、開発プロジェクトに理想的なプラットフォームが作成されます。 このチュートリアルでは、それを実現するための 4 つの方法を説明することから始めます。


Docker の詳細

Docker は、任意の Docker ホスト上でアプリケーションをビルドして実行できるようにすることで、アプリケーションを移植可能にするのに役立ちます。 コンテナー イメージは、ラップトップからクラウドまで、Docker が利用可能な場所ならどこでも変更なしで使用できます。 これにより、ランタイム環境間の違いがなくなり、開発者のエクスペリエンスが簡素化されます。 また、コンテナー形式は複数の物理マシンに簡単に分散できるため、需要の変化に応じてアプリケーションを簡単に拡張できます。

Docker には、Docker Hub やその他のパブリック レジストリからのものであろうと、独自の Dockerfile であろうと、コンテナー イメージを構築して実行するために必要なものがすべて含まれています。

Ubuntu に Docker をインストールする準備をする

Ubuntu バージョン 18.04、20.04、21.10、および 22.04 に最新の Docker リリースをインストールできます。 x64_64/AMD64、ARMhf、ARM64、および S390x アーキテクチャがサポートされています。

Docker をインストールするにはいくつかの方法があります。どの方法を選択するかは、必要な機能とパッケージ管理への優先アプローチによって異なります。 このガイドでは、可能なすべてのオプションを学習します。

次の大規模アプリに最適なプラットフォームをお探しですか? Docker が答えかもしれません... このガイドでインストール方法を学びましょうClick to Tweet

Docker フレーバーの選択

Linux 上の Docker は、伝統的に端末のみでした。 機能するインストールは、コンテナーを実行するデーモンである Docker エンジンと、デーモンと対話するためのdockerコマンドライン インターフェイス (CLI) で構成されます。

Docker デスクトップは、Docker を使用する別の方法です。 歴史的には Windows と Mac でのみ利用可能でしたが、2022 年 5 月に Linux 向けにリリースされました。Ubuntu 上の Docker デスクトップには、AMD64 プロセッサと、Ubuntu 21.10 または 22.04 のいずれかが必要です。 コンテナーを管理するためのグラフィカル インターフェイス、統合された Kubernetes クラスター、およびサードパーティの拡張機能のサポートを提供します。 Docker Desktop は、 dockerおよび Docker Compose CLI も提供します。

Docker Desktop は、仮想マシンを使用してコンテナーを実行するという点で Docker Engine とは異なります (これが、Docker Desktop が Windows および MacOS ユーザーに必要な理由です)。 Ubuntu で両方のフレーバーを並べて使用することは可能ですが、 docker CLI のバージョン間で競合が発生する可能性があります。 どちらかを選んでそれに固執するのが最善です。 端末に慣れていて、最高のサポートとパフォーマンスが必要な場合は、Docker Engine を選択してください。 Docker Desktop の VM は少し重くなりますが、統合された UI が必要な場合や Kubernetes の使用を計画している場合は、より良い選択です。

Ubuntu への Docker エンジンのインストール

Docker エンジンは、Ubuntu で Docker を実行する標準的な方法です。 ローカルの Ubuntu デスクトップ マシンから Ubuntu Server クラウド ホストまで、サポートされているすべてのバージョンと環境で動作します。 続行する前に、18.04 以降の Ubuntu リリースを実行していることを確認してください。

Docker Engine には 3 つの異なるインストール方法があります。

  1. 公式の Ubuntu aptリポジトリ
  2. スタンドアロンの Debian パッケージ ( .deb )
  3. 自動インストール スクリプト

オプション 1 の Ubuntu aptリポジトリは、最も一般的に使用されます。 パッケージ リストに Docker が追加されるため、 apt upgradeを実行して将来の更新を簡単にインストールできます。 オプション 2 は自動更新をサポートしていませんが、エアギャップされたオフライン システムに Docker をインストールするのに理想的です。 自動インストール スクリプトは、開始するための最も簡単な方法ですが、開発用にのみ構成されています。 Docker は、実稼働環境で使用しないようにアドバイスしています。

本番システムで作業している場合、簡単な更新が必要な場合、またはすべての環境で同じメカニズムを使用する必要がある場合は、 aptリポジトリを使用します。

自分のマシンで Docker を試しながら簡単にセットアップしたい場合は、自動インストール スクリプトを使用してください。

1. apt リポジトリを使用して Docker をインストールする

Docker はパッケージを独自のaptリポジトリに公開します。 このリポジトリをaptソース リストに追加する必要があります。そうしないと、 aptインストールで Docker パッケージを見つけることができません。

既存のパッケージ リストを更新し、次の手順のためにいくつかの依存関係をインストールすることから始めます。 ca-certificatescurlgnupg 、およびlsb_releaseツールを使用して、システムの正しい Docker aptリポジトリの詳細と署名キーをダウンロードします。 おそらくこれらのパッケージは既に入手しているでしょうが、それらが利用可能であることを確認することは問題ありません。

 $ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release

次に、Docker の GPG キーリングを apt に登録します。 これにより、インストールした Docker パッケージをaptで検証できるようになります。

 $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ sudo chmod a+r /etc/apt/keyrings/docker.gpg

curlコマンドは、Ubuntu 用の Docker の GPG キーをダウンロードし、それを標準の OpenGPG エンコーディングに戻して、apt のキーリング ディレクトリに保存します。 chmodを使用してキーリング ファイルのアクセス許可を設定し、 aptが確実に検出できるようにします。

これで、Docker パッケージ ソースをシステムに追加できます。 次のコマンドを実行します。

 $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

これはシェル置換を使用して、システムのアーキテクチャ (AMD64 や ARM64 など) を自動的に検出し、適切なパッケージ リストをダウンロードします。 以前に追加した GPG キーを使用して検証されます。 リポジトリは、 apt /etc/apt/sources.list.d directory.

aptが Docker パッケージの存在を認識できるように、パッケージ リストを再度更新します。

 $ sudo apt update

apt installコマンドを使用して、Docker のコンポーネントをシステムに追加できるようになりました。 Docker Community Edition (CE) の最新バージョンをインストールします。 インストールするパッケージは次の 3 つです。

  • docker-ce : Docker エンジン デーモン。
  • docker-ce-cli : 対話する Docker CLI。
  • containerd.io : コンテナーを起動して実行する、containerd として知られるコンテナー ランタイム。
 $ sudo apt install docker-ce docker-ce-cli containerd.io

2. Debian パッケージを使用して Docker をインストールする

公式の.debパッケージは簡単にセットアップできますが、新しいリリースごとに手動でダウンロードしてインストールする必要があります。 パッケージは単純なファイル サーバーでホストされます。 まず、Docker のリリース ノート ページに移動して、20.10.20 などの最新の利用可能なバージョン番号を見つけます。 次に、containerd の GitHub ページに移動して、バージョン番号も確認します。 1.6.8 のようになります。

これで、次の一連のコマンドを実行して、プラットフォームに適した一連のパッケージをダウンロードできます。 <DOCKER_VERSION><CONTAINERD_VERSION>をそれぞれ現在の Docker と containerd のバージョン番号に置き換えます。

 $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce-cli.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/containerd.io_<CONTAINERD_VERISON>-1_amd64.deb -o containerd.deb

また、ブラウザで Ubuntu バージョンのディレクトリ リストにアクセスして、ファイルをダウンロードし、利用可能なすべてのリリースを調べることもできます。

Docker CE、CLI、および containerd パッケージをダウンロードしたら、次のコマンドを使用してインストールします。

 $ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb

上記のスクリプトを使用せずにパッケージを手動でダウンロードした場合は、ファイル名を調整してください。

3. インストール スクリプトを使用した Docker のインストール

Docker の便利なスクリプトは、すべての Docker コンポーネントのインストールを自動化します。 非対話型なので、システムの準備が整うまで座って待つことができます。

最初にスクリプトをダウンロードします。

 $ curl -fsSL https://get.docker.com -o get-docker.sh

root 権限でスクリプトを実行します。

$ sudo sh get-docker.sh Executing docker install script ...

スクリプトが完了するまで待ちます。 Docker がインストールされていることを示す確認メッセージが表示されます。

このスクリプトは、万能のソリューションであることを意図しています。 スクリプトのソースを直接変更しない限り、スクリプトの動作をカスタマイズすることはできません。 また、依存関係を最新バージョンに引き上げないため、Docker の更新を実行するようには設計されていません。

Docker エンジンが Ubuntu で動作していることを確認する

どちらのインストール方法を使用した場合でも、コンテナを起動してすべてが機能していることを確認する必要があります。

 $ sudo docker run hello-world

Docker クライアントが Docker Hub リポジトリからhello-world:imageをマシンにプルするのが表示されます。

 Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625 Status: Downloaded newer image for hello-world:latest

その後、新しいコンテナーが自動的に開始されます。 「hello-world」スターター イメージは、Docker に関するいくつかの基本情報を出力してすぐに終了する単純なコマンドを実行するように構成されています。

 Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

上記の出力を見ると、Docker を使用する準備ができていることを意味します。 デーモンは、Docker Hub から hello-world:latest イメージを正常にプルし、それを使用してコンテナーを開始しました。 「Hello from Docker」行以降はすべて、コンテナー内のプロセスによって発行されました。

Ubuntu での Docker エンジンのアクセス許可の設定

通常、Docker Engine の新規インストールでは、 docker CLI コマンドを実行するために root 権限が必要です。 各コマンドの前にsudoを付ける必要がありますが、これは不便です。

上記の手順を使用して Docker エンジンをインストールした後、自分自身をdockerグループに追加することで、この要件を回避できます。 このオプションの変更により、 sudoを使用せずに通常のユーザーとしてdockerコマンドを実行する権限が付与され、CLI エクスペリエンスが簡素化されます。

dockerユーザー グループが存在することを確認します。

 $ sudo groupadd docker

次に、自分自身を追加します。

ダウンタイムや WordPress の問題に悩まされていませんか? Kinstaは、時間を節約するために設計されたホスティングソリューションです! 私たちの機能をチェックしてください
$ sudo usermod -aG docker $USER

以前にsudoを使用してdockerコマンドを実行したことがある場合は、 ~/.dockerディレクトリのアクセス許可を修正する必要があります。

 $ sudo chown $USER:$USER /home/$USER/.docker -R $ sudo chmod g+rwx $HOME/.docker -R

これにより、自分のユーザー アカウントがディレクトリ内のファイルを読み書きできるようになります。

システムからログアウトし、再度ログインして、新しいグループ メンバーシップを有効にします。 sudoなしでdockerコマンドを実行してみてください:

 $ docker run hello-world

このインストール後の手順で、Docker on Ubuntu のセットアップ プロセスが完了します。 デーモンはすでに自動的に開始するように構成されているため、サービスを手動で設定する必要はありません。 高度なインストールを計画している場合は、カスタマイズされたネットワーク、ログ、およびボリューム ストレージ管理を構成する方法について、Docker ユーザー マニュアルを参照してください。

Ubuntu インストールへの Docker Compose の追加

Docker Compose は、複数のコンテナーを使用するアプリケーションの操作を容易にする、人気のある Docker コンパニオン ツールです。 docker CLI は各コマンドで 1 つのコンテナーのみを対象としますが、 docker composeは各アクションで複数のコンテナーを開始および停止できます。 これにより、フロントエンド、バックエンド、およびデータベース サービスが個別にあるシステムの管理が簡素化されます。

Docker Compose がdocker CLI の一部として利用できるようになりました。 公式のインストール スクリプトを使用して Docker をインストールすると、Compose V2 プラグインが含まれます。 その方法を使用した場合は、 aptでも利用できます。

 $ sudo apt install docker-compose-plugin

または、最新の.debアーカイブをダウンロードして手動でインストールすることもできます。

 $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb -o docker-compose-plugin.deb $ sudo apt install -i ./docker-compose-plugin.deb

docker compose versionコマンドを試して、Compose が機能していることを確認します。

 $ docker compose version Docker Compose version v2.6.0

Ubuntu への Docker デスクトップのインストール

Docker Engine は CLI のみのエクスペリエンスに制限されていますが、Docker Desktop は、グラフィカル管理インターフェイス、組み込みの Kubernetes サポート、およびコンテナー ワークフローの簡素化に役立つオプションのサードパーティ拡張機能を提供します。 独自のワークステーションでの使いやすさを求めている場合に最適です。

Docker Desktop をインストールするには、まずaptを使用していくつかの依存関係をインストールします。

 $ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release

次に、次の一連のコマンドを実行して、Docker のaptリポジトリを追加します。 Docker Desktop はリポジトリに含まれていませんが、その中のパッケージは Desktop の Debian アーカイブによって依存関係として参照されます。

 $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ sudo chmod a+r /etc/apt/keyrings/docker.gpg $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null $ sudo apt update

curlコマンドは、Ubuntu 用の Docker の GPG キーをダウンロードし、それを標準の OpenGPG エンコーディングに変換して、 aptキーリング ディレクトリに保存します。 chmodを使用してキーリング ファイルのアクセス許可を設定し、 aptが確実に検出できるようにします。

ドキュメントのリンクから Docker Desktop Debian アーカイブをダウンロードします。 これにより、Docker Desktop for Linux の最新の安定版リリースが提供されます。 ダウンロードしたバージョン番号に置き換えて、 aptを使用してパッケージをインストールします。

 $ sudo apt install ./docker-desktop-4.11.0-amd64.deb

Docker Desktop がアプリ ランチャーに表示されるようになります。 ランチャーを使用して Docker Desktop を起動し、UI を開きます。 ターミナルでdocker 、 docker docker compose 、およびkubectlコマンドを実行することもできます。 このアプリケーションは、現在の Docker Desktop の状態を示すメニューをシェル トレイに追加し、いくつかのクイック アクションを実行できるようにします。

Docker Desktop を初めて実行すると、サービス契約に同意するよう求められます。 同意する場合は Accept ボタンを押し、Docker Desktop が仮想マシンを起動するまで待ちます。

しばらくすると、ダッシュボードが読み込まれます。 一般的なイメージから新しいコンテナーを作成するためのショートカットを提供し、長いターミナル コマンドを回避します。

Ubuntu で実行されている Docker デスクトップのスクリーンショット。
Ubuntu にインストールされた Docker デスクトップ。

DevKinsta: WordPress 用の Docker デスクトップ

Docker の基盤の上に構築された特殊なソリューションは、特定のテクノロジのエクスペリエンスをさらに簡単にします。 DevKinsta は、WordPress のテーマとプラグインを構築するための無料のローカル開発ツールであり、Docker を使用して WordPress サイトを完全に分離して保護します。 自分でサーバーを設定することなく、新しい WordPress プロジェクトをすばやく簡単に開始してカスタマイズできます。 準備ができたら、Kinsta プラットフォームに直接プッシュしてライブ サイトをデプロイできます。

DevKinsta は、MacOS、Windows、および Ubuntu にインストールできます。

開発プロセスを簡単にしたいですか? 次のプロジェクトでは、Docker on Ubuntu を試してみてください! インストール方法は次のとおりです️ Click to Tweet

概要

Docker は、ほとんどの開発者がコンテナーの使用を開始する方法です。 Docker エンジンまたは新しい Docker デスクトップとして、Docker を Ubuntu システムに簡単にインストールできます。 Docker をインストールすると、コンテナーを構築して実行する準備が整い、開発が簡素化され、環境間の不一致が減少します。

WordPress のテーマとプラグインを開発している場合、DevKinsta はローカル開発環境の作成とサイトのデプロイを簡素化できます。