CentOS 7.5 に Docker を yum インストールする

サーバー構築 CentOS

CentOS 7に仮想化ソフトウェア「Docker」をインストールする手順について紹介します。
yum によるインストール方法や、実際にコンテナを起動して確認するまでの流れをお伝えします。

今回の検証環境は下記の通りです。

  • CentOS 7.5
  • Docker 18.03.1-ce

Ubuntu への Docker インストール手順
Fedora 29 への Docker インストール手順



Dockerとは何か

「Docker」はオープンソースで開発されているコンテナ型の仮想化ソフトウェアです。

VMware や VirualBox などはOSを含めて丸ごと仮想化するものですが、Dockerの場合はもう少し小さなコンテナと呼ばれる単位での仮想化です。

各コンテナにはOSなど一式がインストールされている訳ではありません。
必要となるコアな部分(カーネル)は、ホストサーバ上のものを共同で利用します。

今回はCentOS上にDockerをインストールするため、各コンテナはCentOSのカーネルを共有して利用することとなります。

コンテナ化によるメリットは、一つ一つの仮想環境を小さくまとめられることです。
実際の利用時は、ミドルウェア単位で1つのコンテナとするパターンが多く見られます。

CentOSにDockerをインストールする

yumでインストールするため、Dockerリポジトリをダウンロードします。
下記コマンドは繋げて1行なので注意してください。

# curl -o /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

Docker本体をインストール、GPGKeyの確認が表示された場合は y を入力します。

# yum install docker-ce

Dockerサービスの自動起動を有効化し、サービスを起動します。

# systemctl enable docker
# systemctl start docker

サービスの起動状態が active (running) となっていることを確認します。
インストールされたDockerバージョンも合わせて確認します。今回の例では 18.03.1-ce でした。

# systemctl status docker
# docker version

Dockerコンテナを起動する

まずはテスト用のイメージ hello-world を起動してみます。
自動でイメージがダウンロードされ、Hello from Docker! が表示されれば成功です。

# docker run hello-world
(中略)
Hello from Docker!
This message shows that your installation appears to be working correctly.

続いて、Webサーバの「nginx」をDocker上で起動してみます。
  -d: バックグラウンドで実行するオプション
  -p 80:80: コンテナの80番ポートとサーバの80番ポートを繋げるオプション

# docker run -d -p 80:80 nginx

コンテナ起動後にサーバの80番ポートにアクセスすると、nginxの初期画面が確認できます。

確認後はコンテナを停止しておきます。

# docker ps
CONTAINER ID   IMAGE     COMMAND
db60933873d7   nginx     "nginx -g 'daemon of…"
 ↑このIDを確認

# docker stop <確認したID>

他に利用可能なコンテナは Docker Hub にまとまっています。

まとめ

CentOSに「Docker」をインストール方法について紹介しました。

Dockerはコンテナと呼ばれる単位で仮想化を行い、これまでのVM型とは異なる仕組みで動作します。そのため、一つ一つの仮想環境はとても軽量になっています。

コマンド一つで様々なコンテナを立ち上げれるため、機会があればぜひご活用ください。

Fargate・ECS・EKS の違いとは
PostgreSQL のインストール手順 (CentOS)
MySQL 8 のインストール手順 (CentOS)
Python 3, pip のインストール手順(CentOS)