📝
【Docker】CentOS7.6にDocker環境を構築してみた。
はじめに
CentOS7.6にDocker環境を構築してみました。
構築迄の流れをアウトプットしていきたいと思います。
構成図
仮想マシンのスペック
項目 | 設定 |
---|---|
VM名 | terraform-sv |
OS | CentOS Linux release 7.6.1810 (Core) |
vCPU | 2 |
メモリ(GB) | 2 |
ブートディスク | 50GB |
※最低限の構成ではありません。
前提
- OSインストール&基本設定済み(IPアドレス設定等)
- 特に他の設定をしていない状態
作業の流れ
①Dockerインストール
②Docker起動・自動起動設定
③Dockerテスト
作業手順
①Dockerインストール
1.リポジトリを設定する。
- yum-utilsパッケージ(yum-config-manager ユーティリティを提供する)をインストール
コマンド
sudo yum install -y yum-utils
- リポジトリに「docker-ce.repo」を追加
コマンド
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
2.Dockerエンジンのインストール
Docker関連パッケージをインストール
コマンド
sudo yum install -y docker-ce docker-ce-cli containerd.io
**完了しました!**と表示されることを確認。
実行例
依存性を更新しました:
audit.x86_64 0:2.8.5-4.el7 audit-libs.x86_64 0:2.8.5-4.el7
policycoreutils.x86_64 0:2.5-34.el7
完了しました!
3.Dockerがインストールされていることを確認
コマンド
docker -v
Dockerのバージョン情報が表示されることを確認
実行例
[terraform@terraform-sv ~]$ docker -v
Docker version 20.10.6, build 370c289
[terraform@terraform-sv ~]$
②Docker起動・自動起動設定
1.Docker起動
- Docker起動
コマンド
sudo systemctl start docker
- Docker起動確認
コマンド
systemctl status docker
active (running)
と表示されていれば問題なし。
実行例
[root@terraform-sv ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since 月 2021-05-10 19:52:43 JST; 4s ago
Docs: https://docs.docker.com
Main PID: 4502 (dockerd)
Tasks: 10
Memory: 60.5M
CGroup: /system.slice/docker.service
mq4502 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/cont...
5月 10 19:52:42 terraform-sv dockerd[4502]: time="2021-05-10T19:52:42.4122...c
5月 10 19:52:42 terraform-sv dockerd[4502]: time="2021-05-10T19:52:42.4123...c
5月 10 19:52:42 terraform-sv dockerd[4502]: time="2021-05-10T19:52:42.4123...c
5月 10 19:52:42 terraform-sv dockerd[4502]: time="2021-05-10T19:52:42.4918..."
5月 10 19:52:42 terraform-sv dockerd[4502]: time="2021-05-10T19:52:42.8634..."
5月 10 19:52:42 terraform-sv dockerd[4502]: time="2021-05-10T19:52:42.9384..."
5月 10 19:52:43 terraform-sv dockerd[4502]: time="2021-05-10T19:52:43.0087...6
5月 10 19:52:43 terraform-sv dockerd[4502]: time="2021-05-10T19:52:43.0088..."
5月 10 19:52:43 terraform-sv systemd[1]: Started Docker Application Contai....
5月 10 19:52:43 terraform-sv dockerd[4502]: time="2021-05-10T19:52:43.0657..."
Hint: Some lines were ellipsized, use -l to show in full.
[root@terraform-sv ~]#
2.Docker自動起動設定
※OS起動の際に同時にDockerが立ち上がるようにする。
- Docker自動起動設定
コマンド
sudo systemctl enable docker
シンボリックリンクが作成されることを確認。
実行例
[terraform@terraform-sv ~]$ sudo systemctl enable docker
[sudo] terraform のパスワード:
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[terraform@terraform-sv ~]$
- Docker自動起動設定確認
コマンド
systemctl is-enabled docker
enable
であることを確認。
実行例
[terraform@terraform-sv ~]$ systemctl is-enabled docker
enabled
[terraform@terraform-sv ~]$
③Dockerテスト
※こちらの作業はrootユーザーにて実施する。
1.rootユーザーへ移行
コマンド
sudo -i
実行例
[terraform@terraform-sv ~]$ sudo -i
[sudo] terraform のパスワード:
[root@terraform-sv ~]#
2.「Hello World」コンテナの作成
コマンド
docker run hello-world
実行例
[root@terraform-sv ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:f2266cbfc127c960fd30e76b7c792dc23b588c0db76233517e1891a4e357d519
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
[root@terraform-sv ~]#
3.「Hello World」コンテナ確認/イメージ確認
- コンテナが存在することを確認
コマンド
docker ps -a
「Hello World」は、メッセージ表示後に停止状態になる。
実行例
[root@terraform-sv ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dfd685e54e7e hello-world "/hello" About a minute ago Exited (0) About a minute ago blissful_stonebraker
[root@terraform-sv ~]#
- イメージ確認
コマンド
docker images
「Hello World」が存在することを確認。
実行例
[root@terraform-sv ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 2 months ago 13.3kB
[root@terraform-sv ~]#
4.「Hello World」コンテナ削除/イメージ削除
- コンテナ削除
コンテナIDを確認
コマンド
docker ps -a
実行例
[root@terraform-sv ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dfd685e54e7e hello-world "/hello" 5 minutes ago Exited (0) 5 minutes ago blissful_stonebraker
[root@terraform-sv ~]#
→「hello-world」のコンテナIDはdfd685e54e7e
コンテナ削除
コマンド
docker rm <コンテナID>
実行例
[root@terraform-sv ~]# docker rm dfd685e54e7e
dfd685e54e7e
[root@terraform-sv ~]#
コンテナが存在しないことを確認
コマンド
docker ps -a
実行例
[root@terraform-sv ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@terraform-sv ~]#
- イメージ削除
イメージID確認
コマンド
docker images
実行例
[root@terraform-sv ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 2 months ago 13.3kB
[root@terraform-sv ~]#
→イメージIDはd1165f221234
イメージ削除
コマンド
docker rmi <イメージID>
実行例
[root@terraform-sv ~]# docker rmi d1165f221234
Untagged: hello-world:latest
Untagged: hello-world@sha256:f2266cbfc127c960fd30e76b7c792dc23b588c0db76233517e1891a4e357d519
Deleted: sha256:d1165f2212346b2bab48cb01c1e39ee8ad1be46b87873d9ca7a4e434980a7726
Deleted: sha256:f22b99068db93900abe17f7f5e09ec775c2826ecfe9db961fea68293744144bd
[root@terraform-sv ~]#
イメージが存在しないことを確認。
コマンド
[root@terraform-sv ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@terraform-sv ~]#
さいごに
今回は、CentOS7.6にDocker環境を構築しました。
次回は、こちらにZabbixマネージャーを構築していきます。
参考
CentOS7にDockerをインストールする
CentOSにDockerエンジンをインストールする
Docker入門 ~Hello World~
Discussion