[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]のイメージを使用して、コンテナを組んだ後その状態を
イメージ化してみようと思います。