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)