Skip to main content

専用サーバー:Dockerのインストール

このガイドは、以下の製品を使用して作成されました:

(詳細はプロバイダーごとの製品によって異なる場合がありますが、基本的な概念は同じです)

はじめに

Dockerは、軽量でオープンソースの仮想化ソフトウェアで、単一のシステム上でサービスやアプリケーションを隔離して提供します。実際の仮想マシンとは異なり、追加のOSをエミュレートしたりホストしたりするのではなく、ホストシステム内にアプリケーション環境のみを構築します。これにより、リソースの節約だけでなく、フル仮想化に比べてオーバーヘッドも低く抑えられます。このガイドでは、サーバーにDockerをインストールする手順を解説します。

準備

まずはSSHでLinuxサーバーに接続してください。接続方法がわからない場合は、初回アクセス(SSH)ガイドを参考にしてください。このガイドではUbuntuをLinuxディストリビューションとして使用します。

Docker互換性の有効化

Dockerコンテナを動作させるには、サーバーのウェブインターフェースでDocker互換性を有効にする必要があります。これをしないとPermission Deniedエラーが発生します。

サーバーのウェブインターフェースの設定セクションに移動し、Docker互換性オプションを有効にして保存してください。

保存後は、必ずサーバーを再起動してから次のステップに進んでください。

インストール

Linuxサーバーに接続できたら、以下のLinuxリポジトリから該当するインストール手順を選んでください。

まずはaptを使ってDockerのパッケージを追加し、セットアップします。これにより将来的にリポジトリから簡単にDockerをインストール・更新できます。

以下のコマンドでDockerの公式GPGキーをリポジトリリストに追加します。

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

セットアップが完了したら、次のコマンドでaptのソースにリポジトリを追加します。

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

Dockerリポジトリを追加したら、apt-get updateコマンドで変更を反映させます。

sudo apt-get update

これでDockerのaptリポジトリがセットアップされました。最後にDockerパッケージをインストールします。以下のコマンドで最新バージョンをインストール可能です。

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

インストールが成功したか確認するために、以下のコマンドでhello-worldイメージを実行してみましょう。

sudo docker run hello-world

成功すると、基本情報が書かれた挨拶メッセージが表示されます。もしPermission Deniedエラーが出る場合は、準備で説明したようにウェブインターフェースでDocker互換性を有効にし、サーバーを再起動したか確認してください。

これでLinuxサーバーにDockerが無事インストールされました。

インストール後の設定

Dockerがインストールできたら、sudoなしでDockerコマンドを実行できるようにしたり、サーバー起動時にDockerを自動起動させる設定を行うこともできます。

sudoなしでDockerを操作する

すべてのDockerコマンドにsudoを付ける必要をなくすには、新しくDockerグループを作成し、ユーザーを追加します。便利になりますが、ユーザーにroot権限相当の権限が付与されるので注意してください。

以下のコマンドでdockerグループを作成し、現在のユーザーを追加します。

# Dockerグループ作成
sudo groupadd docker

# 現在のユーザーをDockerグループに追加
sudo usermod -aG docker $USER

設定後は、グループメンバーシップを反映させるためにサーバーを再起動するか、newgrp dockerコマンドを実行してください。

その後、docker run hello-worldコマンドをsudoなしで実行できるか確認しましょう。

Hint

以前にsudo付きでコマンドを実行していて設定ファイルのエラーが出る場合は、rmdir ~/.docker/でDockerディレクトリを削除してください。次回コマンド実行時に自動で再作成されます。

問題なく実行できれば、sudoなしでDockerを使えるようになっています。

サーバー起動時にDockerを自動起動する

多くのLinuxディストリビューションで使われているsystemdを使い、サーバー起動時にDockerを自動起動させることができます。

Hint

UbuntuとDebianでは、Dockerはデフォルトで起動時に自動起動する設定になっています。この2つのディストリビューションを使っている場合は特に設定不要です。

以下のコマンドでDockerサービスの自動起動を有効にできます。

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

逆に自動起動を無効にしたい場合は、enabledisableに置き換えてください。また、以下のようにsystemctlのサブコマンドでサービスを管理できます。

sudo systemctl start [your_service]
sudo systemctl stop [your_service]
sudo systemctl restart [your_service]

まとめ

おめでとうございます!LinuxサーバーにDockerを無事インストール・設定できました。もし質問や問題があれば、毎日対応しているサポートチームまでお気軽にお問い合わせください!