本記事ではコンテナと呼ばれる仮想環境を作成・配布・実行出来るプラットフォーム「Docker」をLinux Ubuntu上にインストール方法について紹介します。
Dockerとは?
サーバー用アプリをサーバー本体に直接インストールせず、コンテナと呼ばれる技術を使いサーバーに仮想環境を構築する方法があることをご存じでしょうか?
Linuxでのサーバー構築は、Windowsに比べて、柔軟性が高いですが構築が難しいことが知られています。ただ、一度構築さえしてしまえば、セキュリティ上強固で柔軟なサービスを提供できるのがLinuxサーバーの特徴です。
一方で、サーバー本体のハードが壊れたり、OSのバージョンアップによる不具合が発生したりすると、再度環境を構築するには莫大な時間を要します。このような場合に構築したサーバー環境をそのまま保存して移動したり、他のOSへ移植できたりしたらさぞかし便利なことでしょう。
この問題は、サーバー環境構築に「Docker」というコンテナ型の仮想環境プラットフォームをインストールすることで解決できます。この仮想環境は、またコンテナとして作成・配布・実行でき、持ち運びもできるようになるためとても便利です。
サーバー環境を容器に入れて持ち出せるため、サーバー機が壊れた場合には事前に作成しておいたコンテナを利用すれば復旧作業に時間を要することもなくなります。別のOSに環境ごとインストールもできます。これがコンテナという概念の便利なところです。
他のOS上でのDockerのインストール方法
Dockerの優れたところは、他のOSでも同じ環境でサーバー構築ができるところにあります。
この「Docker」はパッケージで提供されているため以下のOS環境にインストールができます。
- Linux OS (一般、本記事ではUbuntu)
- Windows OS (WSL2)
- macOS (M1を含む)
Linux (ubuntu) や Windows, macOS上でも「Docker」をインストールすれば同じイメージファイルで同じ環境構築が可能です。
本記事では、「Linux Ubuntu 18.04 LTS」に「Docker」インストールする方法を紹介します。
- Docker (Linux Ubuntu 18.04 LTS)
バージョン 20.21
一方で、各OS上での「Docker」のインストールについては以下の記事をご参照ください。
LinuxへのDockerのインストール
Linux環境下でDockerをインストールする方法は以下の通りです。
①updateとupgradeを行っておきます。
$ sudo apt-get update
$ sudo apt-get upgrade
②次に、HTTPS経由でDockerリポトジを使用するためのパッケージをインストールします。
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
③次に、Dockerの公式GPGキーを追加します。OKとでれば問題ありません。
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
④そして、リポジトリへの追加を行います。
$ sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
⑤Ubuntuリポトジソースに追加
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
①再度、updateとupgradeを繰り返します。
$ sudo apt-get update
$ sudo apt-get upgrade
②Dockerのインストールを行います。今回インストールするのは、Dockerの無償版であるDocker CE(Community Edition)です。
$sudo apt-get install docker-ce docker-ce-cli containerd.io
③その後、インストールが完了できたか確認するために、Dockerのバージョンを確認します。
% docker --version
Docker version 20.10.22, build 3a2c30b
④次にDockerのサービスを開始させます。
$ sudo service docker start
①Dockerのコマンドにはsudoが必要になります。sudoを使用せずに dockerを使いたい場合には、dockerという名前のグループをつくり、ユーザーをそこにに所属させれば良いです。ここで、以下のようにグループを作成します。
$ sudo groupadd docker
②現行ユーザーをdockerグループに所属させます。以下のようにユーザー(misato)を追加した場合です。
sudo gpasswd -a misato docker
③Linux ではまた、以下のコマンドによってグループ変更を行うこともできます。その後パスワードが聞かれます。
newgrp docker
④dockerサービスを再起動する
$ sudo service docker restart
Dockerのコンテナ格納先
Dockerのコンテナ格納先はdocker infoコマンドで確認できます。
$ sudo docker info
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.9.1-docker)
scan: Docker Scan (Docker Inc., v0.21.0)
Server:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 1
Server Version: 20.10.21
Storage Driver: overlay2
(中略)
Docker Root Dir: /var/lib/docker
この際、表示された設定ファイルから、
・Strage Driverの保存先はoverlay2
・Dockerの保存先は、/var/lib/docker
となる。
Dockerで様々なサーバーを立ち上げる方法
Dockerを利用して「nextcloud」や「WordPress」をインストールする方法の例を以下で紹介します。こちらも是非ご覧下さい。
まとめ
インストールしたDockerは無償版であるDocker CE(Community Edition)です。
インストール先はLinux Ubuntu 18.04
Dockerのイメージファイルの保存先は、/var/lib/docker
となります。
Dockerを利用することで、「mySQL」や「http」さらにこれらを利用した「nextcloud」や「wordPress」を簡単にインストールすることができます。