CentOS7

[DockerCE]をCentOS7で実行する。

 CATEGORY LINUX

今更Dockerを使用してみたかったのですが、3,000円から4,000円の参考書買って
情報が古かったりコマンドが違って動かなかったり面倒で、悲しみしか残らないのでネットでDockerを勉強してみました。
ozisanは理解力が不足しているので、一つずつ噛み砕いて記述していきます。
今回はDockerCE(DockerCommunityEdition)無償版をCentOS7で使用してみます。

■環境

CentOS Linux release 7.9.2009
DockerCE 20.10.0

■Dokerとは

ミドルウェア等をセットアップした環境をイメージ化して保存し、そのイメージを共有する事が可能で用意に同じ環境を作れる。
そのイメージを元にDocker上でコンテナとして稼働する。
Dockerのイメージは、[DockerHub]で公開されていて、取得したイメージでコンテナを起動して使用します。

イメージ
・イメージはDockerHubで公開されている。
・イメージは自分でも作成可能。
・公式リリースのミドルウェアやOSがある。

コンテナ
・コンテナは複数起動する事ができ、一方のコンテナを停止しもう一方のコンテナに切り替える等が可能。
例)[Nginxコンテナ][MySQLコンテナ]はそのままで、[旧WordPressコンテナ]←→[新WordPressコンテナ]WordPressのみ入れ替える等。
・コンテナとコンテナを接続して使う。
例)[Nginxコンテナ]←→[MySQLコンテナ]←→[WordPressコンテナ]

■参考サイト

Dockerについては以下のサイトが解りやすく公開されているので、参考にします。
Docker ドキュメント日本語化プロジェクト インデックス
Docker ドキュメント日本語化プロジェクト コマンド
Docker ドキュメント

■DokerCEをセットアップします。

yum-config-managerを使う為にyum-utilsをインストールします。device-mapper-persistent-dataとlvm2はストレージドライバを利用するのに必要。バックスラッシュは改行の為に入れています。

# yum install yum-utils \
device-mapper-persistent-data \
lvm2

安定版のリポジトリをセットアップします。

# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

dockerCEをインストールします。

# yum install docker-ce

dockerCEを起動します。

# systemctl start docker

dockerCEを自動起動に設定します。

# systemctl enable docker

dockerの情報を確認します。コマンド[info]

# docker info

以上でDokerCEのセットアップは終了です、次は実際に動かしてみます。

■DokerCEを動かしてみる。

DokerCEでnginxのイメージを使用してみます。

nginxのdockerイメージをDockerHubからダウンロードします。コマンド[pull]

# docker pull nginx

ダウンロード完了後、ローカルにあるdockerのイメージを確認します。コマンド[images]

# docker images
REPOSITORY   TAG       IMAGE ID       CREATED                  SIZE
nginx        latest    ae2feff98a0c   Less than a second ago   133MB

先ほどダウンロードしたnginxのイメージを使用して、コンテナを実行します。pullコマンドでダウンロードしていない場合は、このrunコマンドを実行しただけでも、イメージがダウンロードされます。コマンド[run]

# docker run --name my-nginx -d -p 8080:80 nginx

dockerのコンテナ(プロセス)を確認する。コマンド[ps]

# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
02710cfa83dd   nginx     "/docker-entrypoint.…"   16 seconds ago   Up 15 seconds   0.0.0.0:8080->80/tcp   my-nginx

・ステータス「Up」・コンテナ名「my-nginx」・ 使用ポート「8080」になっているので、webブラウザで8080ポートを確認する。http:// [サーバーIPアドレス] :8080/。

■DockerCEのコンテナを止めて、イメージを削除してみる。

コンテナを停止する。今回の場合はIDが[02710cfa83dd]なのでコマンドの後にIDを入れる。コマンド[stop]

# docker stop 02710cfa83dd

dockerのコンテナを削除する。今回の場合はIDが[02710cfa83dd]なのでコマンドの後にIDを入れる。コマンド[rm]

# docker rm 02710cfa83dd

コンテナを削除しただけでは、dockerのイメージは残るのでイメージを削除する。IDは[ae2feff98a0c]。コマンド[rmi]

# docker rmi ae2feff98a0c

■最後に

今回はDockerCEのセットアップから、簡単に動かして削除するまでざっくりと勉強していきました。
次回は[CentOS][Nginx][Mariadb][WordPress]のイメージを使用して、コンテナを組んだ後その状態を
イメージ化してみようと思います。