UbuntuにDockerをインストールする方法(手動インストールとVPSテンプレート)

UbuntuにDockerをインストールする方法(手動インストールとVPSテンプレート)

Dockerは、軽量かつ移植性の高いコンテナを使ってアプリケーションのデプロイを自動化できる強力なプラットフォームです。LinuxサーバーにDockerを導入することで、開発ワークフローを大幅に効率化できます。

このガイドでは、DockerをHostingerのVPSテンプレートを使う方法と手動でインストールする方法の両方を紹介します。読み終えるころには、プロジェクトで活用できるDockerの環境が完成しているはずです。

UbuntuでDockerをインストールするための前提条件

Dockerのインストールステップに進む前に、お使いのUbuntu環境が以下の前提条件を満たしていることを確認してください:

  • 対応するUbuntuバージョン。Ubuntu 20.04、22.04、24.04などの長期サポート(LTS)版を使用してください。
  • サーバー要件。ご利用のVPSがDockerの最小要件を満たしているか確認しましょう。64ビットアーキテクチャを採用し、RAMは少なくとも2GB必要です。
  • 基本的なLinuxの知識。基本的なLinuxコマンドに慣れていると、Dockerのインストールやアプリケーション管理がスムーズに行えます。

おすすめの記事

Dockerとは何かをおさらいしたい方は、こちらの記事をご覧ください。Dockerの仕組みや構成要素についてわかりやすく解説しています。

HostingerのVPSテンプレートを使ってUbuntuにDockerをインストールする方法

Hostingerの事前構成済みテンプレートを使えば、Ubuntu VPSにDockerを簡単にセットアップできます。VPSプランとDockerホスティングプランのどちらにも対応しており、必要なコンポーネントがすべて揃った状態でDockerを正しくインストールできるため、時間の節約にもなります。

HostingerのVPSテンプレートを使ってDockerをインストールするには、以下のステップを実行します:

  • hPanelにログインし、「VPS お使いのサーバーの横にある「管理」をクリックします。
  • VPSダッシュボードの左サイドバーから「OS&パネル」→「オペレーティングシステム」に移動します。
  • オペレーティングシステム」ページで、「アプリケーション」→「Docker」を選択します。
  • OSを変更」をクリックし、インストールが完了するまで待ちます。通常は約10分ほどかかります。

これで完了です。VPSにDockerがインストールされ、アプリケーションのデプロイ準備が整いました。

UbuntuにDockerを手動でインストールする方法

自分の手で環境を構築したい方のために、ここではUbuntu 24.04ディストリビューションへのDockerの手動インストール方法をステップごとに解説します。

1. 必要なパッケージをインストールする

Dockerのインストールを始める前に、システムが最新の状態であり、必要なパッケージがすべてインストールされていることを確認しましょう。以下のステップに従ってください。

  • ターミナルを開き、SSHを使ってVPSに接続します。usernameyour_server_ipの部分は、実際の認証情報に置き換えてください。
ssh username@your_server_ip
  • サーバーが最新バージョンのパッケージおよびその依存関係を使用するように、パッケージリストを更新します:
sudo apt update && sudo apt upgrade -y
  • aptがHTTPS経由でリポジトリを利用できるようにするために、必要なパッケージをインストールします:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

2. Dockerの公式GPGキーを追加する

Dockerパッケージの正当性とセキュリティを確保するために、Dockerの公式GPGキーを追加し、Dockerリポジトリを設定する必要があります。以下のステップに従ってください。

  • 次のcurlコマンドを実行して、DockerのGPGキーを追加します:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  • 公式のDockerリポジトリをAPTのソースに追加します:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.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

3. Dockerをインストールする

必要なリポジトリの設定が完了したら、Dockerのインストールに進みましょう。以下のステップに従ってください:

  • まず、Ubuntuのデフォルトリポジトリではなく、Dockerの公式リポジトリからインストールされることを確認します:
apt-cache policy docker-ce
  • 以下のような出力が表示されれば、Dockerが正しいリポジトリからインストールされることを示しています:
docker-ce:

 Installed: (none)

 Candidate: 5:26.1.3-1~ubuntu.24.04~noble

 Version table:

 5:26.1.3-1~ubuntu.24.04~noble 500

 500 https://download.docker.com/linux/ubuntu noble/stable amd64 Packages

 5:26.1.2-1~ubuntu.24.04~noble 500

 500 https://download.docker.com/linux/ubuntu noble/stable amd64 Packages

 5:26.1.1-1~ubuntu.24.04~noble 500

 500 https://download.docker.com/linux/ubuntu noble/stable amd64 Packages

  • Dockerコンテナを実行するために必要な、Docker Engine、Docker Community Edition、そしてcontainerdランタイムをインストールするには、次のコマンドを実行します:
sudo apt install docker-ce docker-ce-cli containerd.io -y
  • システム起動時にDockerが自動的に起動するように設定します:
sudo systemctl enable docker

4. Dockerのインストールを確認する

Dockerのインストール後は、正しくインストールされているか、そしてDockerが正常に動作しているかを確認することが重要です。以下のステップで確認しましょう:

  • システムにインストールされているDockerのバージョンを確認します:
docker --version
  • 想定される出力の例は次の通りです:
Docker version 26.1.3, build b72abbb
  • Dockerサービスのステータスを確認するには、次のコマンドを使用します:
sudo systemctl status docker
  • Dockerがアクティブかつ実行中であることを示す出力が表示されるはずです:
● docker.service - Docker Application Container Engine

 Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)

 Active: active (running) since Wed 2024-05-22 06:12:32 UTC; 39s ago

TriggeredBy: ● docker.socket

 Docs: https://docs.docker.com

 Main PID: 3717 (dockerd)

 Tasks: 9

 Memory: 29.4M (peak: 29.8M)

 CPU: 334ms

 CGroup: /system.slice/docker.service

 └─3717 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
  • このステータス画面を終了するには、キーボードでQを押します。

5. sudoなしでDockerを実行する(任意)

デフォルトでは、Dockerのコマンドはrootユーザーまたはsudo権限を持つユーザーのみが実行できます。これはやや不便であり、セキュリティ上の懸念が生じることもあります。非rootユーザーでDockerコマンドを実行しようとすると、次のようなエラーが表示される場合があります:

docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

しかし、sudoなしでDockerを実行できるように設定しておくと、より簡単かつスムーズに操作できるためおすすめです。以下のステップに従って設定しましょう:

  • まず、次のコマンドを実行してdockerグループを作成します:
sudo groupadd docker
  • 新しいユーザーがまだいない場合は追加します。ここでは、ユーザー名を new_userとします:
sudo adduser new_user
  • このユーザーのパスワード設定を求められます。
  • new_userdockerグループに追加します:
sudo usermod -aG docker new_user
  • 作成したばかりのユーザーに切り替えます:

su – new_user

  • このユーザーがdockerグループに属しているかを確認します:
groups
  • 出力される例は次の通りです:
new_user users docker
  • sudoを使わずにDockerコマンドを実行できることを確認するため、以下の簡単なコマンドを実行します:
docker run hello-world
  • Dockerが非rootユーザーとして正しく動作していることを示す出力が表示されます:
Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

c1ec31eb5944: Pull complete 

Digest: sha256:266b191e926f65542fa8daaec01a192c4d292bff79426f47300a046e1bc576fd

Status: Downloaded newer image for hello-world:latest

Hello from Docker!

This message shows that your installation appears to be working correctly.

これで、コマンドを使ってUbuntu VPSへのDockerの手動セットアップが完了しました。

よくあるDockerインストール時の問題と対処法

Dockerのインストール中に問題が発生することがあります。ここでは、よくあるトラブルとその対処法を紹介します。

Dockerデーモンが起動していない

Dockerデーモンが起動していないというエラーメッセージが表示された場合、サービスが有効になっていない可能性があります。次のコマンドでDockerサービスを起動してください:

sudo systemctl start docker

次のコマンドでDockerデーモンのステータスを確認できます:

sudo systemctl status docker

Dockerデーモンに接続できない

「Cannot connect to the Docker daemon at unix:///var/run/docker.sock」というエラーが表示された場合、通常はDockerサービスが起動していないか、権限の問題が原因です。

まず、以下のコマンドでDockerサービスが起動しているかを確認してください:

sudo systemctl start docker

次に、現在のユーザーがdockerグループに属しているかを確認します:

groups

リポジトリからのインストール時の問題

DockerのAPTリポジトリ追加やパッケージのインストール時に問題が発生する場合は、リポジトリの設定に誤りがある可能性があります。

以下のコマンドを実行して、公式リポジトリが正しく追加されており、パッケージリストが更新されていることを確認してください:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update

実行中のコンテナが反応しない

実行中のコンテナが反応しなかったり、予期しない動作をしている場合は、コンテナのログを確認して原因を特定しましょう。以下のコマンドを使用します:

docker logs container_id

また、HostingerのVPSをご利用の場合は、Kodee AIアシスタントを使ってコンテナのログを確認することもできます。例えば、次のように尋ねてみてください:

「[container_name] コンテナのログを確認してもらえますか?」

必要に応じて、以下のコマンドでコンテナを再起動します:

docker restart container_id

ファイアウォールとネットワーク設定

Dockerが正常に動作しない原因として、ファイアウォールの設定やネットワーク構成が必要なポートをブロックしている場合があります。Dockerのデフォルトポートへの通信が許可されていることを確認しましょう。必要に応じて、ファイアウォールのルールを確認し、例外を追加してください。

例えば、UFW(Uncomplicated Firewall)を使用している場合は、次のコマンドでDockerの通信を許可できます。

sudo ufw allow 2375/tcp
sudo ufw allow 2376/tcp
sudo ufw allow 2377/tcp
sudo ufw allow 7946/tcp
sudo ufw allow 7946/udp
sudo ufw allow 4789/udp

また、Dockerがイメージのダウンロードやその他の操作を行うために外部サーバーと通信できるよう、ネットワーク設定も確認しておきましょう。

Kodeeを使ったファイアウォールの管理

Kodeeにファイアウォールの新しいルールを設定してもらうこともできます。例えば、次のように依頼してください:「ポート2375、2376、2377、7946 TCPおよび7946、4789 UDPをすべてのIPアドレスに対して開放するファイアウォールルールを設定してもらえますか?」

インストール後の設定と活用のヒント

Dockerのインストールが完了したら、新しく利用を始めるユーザーは、いくつかの基本的なコマンドや操作に慣れておくと便利です。このセクションでは、Dockerのインストール後に行っておきたい設定や活用のヒントを紹介します。

基本的なDockerコマンド

Dockerを使い始めるには、まずいくつかの基本的なコマンドを覚えておくと便利です。Dockerを使い始めたばかりの方は、まず次のような基本コマンドに慣れておくと安心です:

  • Dockerイメージの一覧を表示:
docker images
  • Docker Hubでイメージを検索:
docker search image_name
  • Docker Hubからイメージをダウンロード:
docker pull image_name

Dockerコンテナの実行と管理

コンテナの実行と管理は、Dockerを扱う上での中心的な作業です。以下のガイドでは、その基本的な操作方法を紹介します:

  • 指定したイメージを使ってDockerコンテナを実行:
docker run -d --name container_name image_name
  • Dockerコンテナを起動:
docker start container_id_or_name
  • 実行中のコンテナを停止:
docker stop container_id_or_name
  • 実行中のすべてのコンテナを表示:
docker ps

Dockerイメージの操作

Dockerイメージはコンテナの基盤となる重要な要素です。以下に、イメージの基本的な操作方法を紹介します:

  • 現在のディレクトリにあるDockerfileからイメージをビルド:
docker build -t image_name .
  • イメージに特定の名前とタグを付ける:
docker tag source_image_name target_image_name:tag
  • Docker Hubにログインし、イメージにタグを付けてリポジトリへプッシュ:
docker login
docker tag image_name dockerhub_username/image_name:tag
docker push dockerhub_username/image_name:tag

使われていないDockerコンポーネントの削除

環境をクリーンかつ効率的に保つためには、不要になったDockerコンポーネントを定期的に削除することが重要です。以下のコマンドで対応できます:

  • 未使用のDockerイメージをすべて削除:
docker image prune
  • 停止中のコンテナをすべて削除:
docker container prune
  • 未使用のDockerボリュームを削除:
docker volume prune
  • 未使用のネットワークを削除:
docker network prune

Docker Composeの利用

Docker Composeは、複数のコンテナで構成されるアプリケーションを管理するための強力なツールです。以下は基本的なコマンドです:

docker-compose up -d

このコマンドを実行すると、docker-compose.ymlファイルで定義されたサービスがデタッチドモードで起動します。

まとめ

このDockerチュートリアルでは、HostingerのVPSテンプレートを使う方法と手動で行う方法の両方で、UbuntuにDockerをインストールするステップをご紹介しました。あわせて、インストールの確認方法や、よくある問題への対処方法についても解説しました。

さらに、基本的なDockerコマンドの習得や、コンテナ・イメージの管理、不要なコンポーネントのクリーンアップも大切です。本記事のステップに沿って進めれば、アプリケーションを展開するためのDocker環境を効率的に構築・運用できます。

UbuntuにDockerをインストールする際のよくある質問

このセクションでは、UbuntuへのDockerインストールに関してよくある質問にお答えします。

UbuntuにDockerをインストールした後、特別な設定は必要ですか?

UbuntuにDockerをインストールした後は、利便性のためにDockerをsudoなしで実行できるよう設定することをおすすめします。さらに、Dockerの通信が許可されるようにファイアウォールの設定を確認し、外部リソースへスムーズにアクセスできるようネットワーク構成も必要に応じて調整しておきましょう。

UbuntuのすべてのバージョンにDockerをインストールできますか?

現在、DockerはUbuntu 20.04、22.04、24.04へのインストールに対応しています。安定性を重視する場合は、長期サポート(LTS)版の使用をおすすめします。また、最新の対応状況についてはDockerの公式ドキュメントで常に確認するようにしましょう。

Dockerが正しくインストールされたか確認する方法はありますか?

UbuntuにDockerが正しくインストールされているかを確認するには、docker –versionを実行してインストールされたバージョンを確認し、sudo systemctl status dockerを実行してDockerサービスがアクティブで正常に動作しているかを確認します。

Ubuntuでroot権限なしにDockerを実行できますか?

はい、ユーザーをdockerグループに追加することで、root権限なしでDockerを実行できます。まずroot権限でsudo usermod -aG docker your_usernameを実行し、su –your_usernameでそのユーザーに切り替えてください。

Author
著者

Yukako Washisaka

こんにちは、Yukaです。バイリンガルの翻訳者として15年以上活動しています。アメリカではグラフィックデザインを学び、そこから翻訳の道に進みました。言葉を通じて文化と人をつなぐことにやりがいを感じていて、「伝わる」翻訳を大切にしています。 プライベートでは、家族とドライブに出かけたり、美しい景色を写真に収めたり、愛犬のトイプードルとのんびりお散歩するのが好きです。 このプロジェクトに関われることをうれしく思っています。私の翻訳が少しでもお役に立てれば光栄です。