Address
304 North Cardinal St.
Dorchester Center, MA 02124

Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM

Docker Container

Xserver VPSのUbuntuにDockerをインストールする方法の解説

Xserver VPSのUbuntuにDockerをインストールする方法の解説

今回はXserver VPSのUbuntu(この記事ではUbuntu 22.04.3 LTSとします)にDockerをインストールする方法を説明します。今回の作業はrootユーザー権限で行いますが、別権限のユーザーとして実行する場合は、sudoコマンドを使うようにしてください。

また今回、Xserever VPSのUbuntuにインストールするDockerとは、Linux用Docker Desktopではなく、Docker Engineとします。

プログラミング言語の人気オンラインコース

前提:Xserver VPSへSSH接続しておく

まず今回行う作業は、Xserver VPSにSSH接続してターミナル上でコマンド入力で行うことになります。よって前もってXserver VPSにSSH接続しておきましょう。その方法はこちらの記事で解説しています。

なぜLinux用Docker Desktopは使わないのか?

UbunuはLinuxの1つなので、Linux用のDocker Desktopもインストールできます。

しかし、自分の手元にあるPC(ローカルPC)のUbuntuならばDesktop版でもいいのですが、Xserver VPSサーバー(リモートPC)のOSやアプリを操作する場面では、そのサーバーを操作するのは基本的にコマンドプロンプトやターミナルなどを利用しSSH接続をしてからコマンド入力によってサーバーを操作することが多いでしょう。それに、やはりコマンド入力で操作するほうがOSやアプリの動作も軽いです。

したがってDockerもコマンド入力だけで操作できるDocker Engineを使うほうが何かと便利です。

UbuntuにDockerをインストールする方法の種類

UbuntuにDockerをインストールする方法はいくつかありますが、aptリポジトリを使用する方法が一般的なようです。そこで今回はその方法で行います。

Docker公式解説

実は今回の作業のほとんどはこのDocker公式サイトに書いてあります。基本的にはそれをそのままやるだけです。

Docker公式:Install Docker Engine on Ubuntu

Ubuntuのパッケージの更新

ひとまずUbuntuのパッケージを最新のものにしておきましょう。その方法は「Xserver VPSのUbuntuのパッケージを更新する方法の解説」で解説しておきました。ご覧ください。

パッケージのca-certificates curl gnupgがインストールされているか確認してみる

DockerをAptリポジトリからダウンロードしてインストールするには、Xserver VPSのUbuntuに、

  • ca-certificates
  • curl
  • gnupg

の3つのパッケージが最低必要です。これらのパッケージがすでにUbuntuにインストールされているか確認してみましょう。

そのために、次のコマンドを実行してみましょう。

 dpkg -l
Ubuntu on Xserver VPS

このようにインストールされたパッケージのリストが大量に出力されます。ca-certificates 、curl、そしてgnupgの3つのパッケージはあるでしょうか。なければダウンロード&インストールが必要となります。

さてこの場面の一番最後には、

Lines ~(END)

という表示があり、このままでは元のコマンド入力ができるモードに戻れません。

そこで、キーボードで

tab + Q

を押すと、

~@x152-42-34-67:~#

というような表示に戻ります。これで元のコマンド入力ができるモードに戻れます。

前準備:Aptリポジトリの設定

公式のスクリプト全体

上のDocker公式:Install Docker Engine on Ubuntuでは、次のようなスクリプトが掲載されています(¥記号はバックスラッシュになっています)。

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /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

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

これをこのままコピペでもして実行するだけでOKですが、いちおう以下、1行ごとにその意味を確認しておきましょう。sudoは省略しています。

インストール可能なパッケージの「一覧」を更新

apt-get update

パッケージのインストール

apt-get install ca-certificates curl gnupg

インストールしたファイルを新たに作成したディレクトリにコピーし、さらに権限を変更

install -m 0755 -d /etc/apt/keyrings
  • install: ファイルのコピー
  • -m 0755: ファイルの権限を0755へ変更
  • -d /etc/apt/keyrings:指定したディレクトリを作成

指定したURLへhttpなどのプロトコルを使ってアクセス

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  • -f:サーバーエラーで処理が失敗してもエラーメッセージを出さない
  • s:進捗状況やエラーを表示しない
  • S:上の小文字sとあわせて、sSとするとエラーだけ表示し、進捗状況は非表示
  • L:リダリレクト先までアクセスする

インストール可能なパッケージの「リスト(一覧)」だけ更新する

apt-get update

このコマンドは、あくまでインストール可能なパッケージの「名前のリスト」だけを更新して、パッケージ本体は更新しません。

Docker Engineのインストール

さて上の作業でDocker Engineをインストールするための前準備が終わりました。いよいよ本命のDocker Engine(CE版)のインストールです。

次のコマンドが上の公式ページで紹介されていますので、そのまま使います。

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

これを実行すると、

Docker on Ubuntu on Xserver VPS

こんな感じに処理が進みます。

途中で、

114 MB のアーカイブを取得する必要があります。
この操作後に追加で 409 MB のディスク容量が消費されます。
続行しますか? [Y/n] 

という表示が出てくるかもしれませんが、その内容とサーバーの容量を確認して、容量に問題なければ「Y」と入力してリターンキーを押して処理を進めましょう。

また続けて、

Docker on Ubuntu on Xserver VPS
Pending kernel upgrade

Newer kernel available

意味は、「カーネル(数学上のカーネルではなく、OSの一番の核となる部分)の最新版がありますけど、まだ使ってないないですね。使ってみたらどうです?」みたいな感じです。

とりあえず無視してリターンキーを押して処理を続けましょう。

Docker on Ubuntu on Xserver VPS
Daemons using outdated libraries

Which services should be restarted?

これの意味は、「古いライブラリがあるから、それを使ってるサービス(機能)を再起動させますか?」いう感じです。キーボードの矢印キーでチェックボックスのチェックを移動させることができますが、ここでもとりあえず気にせずリターンキーを押して処理を進めていきましょう。

Docker on Ubuntu on Xserver VPS

最後にこんな感じの画面になればDockerのインストールが完了です。

では最後にきちんとDockerが作動しているか確かめてみましょう。

Dockerの動作確認:バージョン確認とコンテナ起動

バージョン確認

さて上までの作業でDockerがインストールできたわけですが、いちおう動作確認をしておきましょう。そのためにまずはバージョンを確認する作業をしてみましょう。

docker -v

たとえば次のようなバージョン情報が表示されればOKです!

Docker version 24.0.6, build ed223bc

コンテナを起動させてみる

次に、上公式ページでも紹介されているスクリプト、

docker run hello-world

これを入力・実行してみましょう。

Docker on Ubuntu on Xserver VPS
Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message,~

というメッセージが表示されればきちんと動作しています。これで動作確認も終了です!

Docker Composeのインストール

Docker Composeとは?なぜ導入したほうが良いのか

これまでの作業でインストールしたDocker Engineは1つのコンテナについて作成・起動・実行することに特化した(?)ものでした。

ですが実際のDockerによる開発環境づくりでは、複数のコンテナを連携・統合させてまるで1つの環境として使うことが多いので、複数のコンテナについてまとめて処理できるような仕組みがあれば便利です。それを担当するのはDocker Composeです。したがってDocker Composeもインストールしておきましょう。

インストール方法

次のコマンドを実行します。

apt-get update
apt-get install docker-compose-plugin

これでインストール完了です。それでは実際に動くか確かめてみましょう。次のコマンドを実行します。

docker compose version

私の環境では、次のような結果が表示されました。

Docker Compose version v2.21.0

このようなバージョン情報が表示されればきちんと動作しています。

以上このようにXserev VPS上のUbuntuにDockerを導入することができましたので、今後はどんどんコンテナによる開発を進めていきましょう。そのときは次のようなUdemyの動画がおすすめです。

愛を分かち合いましょう