LoginSignup
1
1

More than 1 year has passed since last update.

Windows10でDocker For Windowsを使用してCentOS環境を構築してみた(インストール~コンテナ作成、削除まで)

Last updated at Posted at 2022-09-13

はじめに

本記事で書くこと

  • 筆者がWindows10のデスクトップPCにCentOS環境を構築した際の手順

本記事で書かないこと

  • CentOSの細かい説明

そもそもWindowsにCentOS環境を構築する方法って何がある?

1.Windows上に仮想マシンソフトをインストールして、その仮想マシン上にCentOSをインストールする
2.WSL(Windows Subsystem for Linux)2を使用してCentOSをインストールする
3.Docker For WindowsをインストールしてCentOS環境を構築する

今回はこちらを採用

3.Docker For WindowsをインストールしてCentOS環境を構築する

環境構築スタート

Hyper-Vの有効化

1.Windowsの検索バーで「Windowsの機能」と検索すると「Windowsの機能の有効化または無効化」が出てくるのでそちらをクリック
2.以下のボックスが表示されるので、Hyper-Vにチェック
image.png
3.Windowsを再起動

Docker ID を取得

こちら(https://hub.docker.com/signup)の公式サイトからサインアップしてアカウントを作成することでDockerIDを取得できます。
image.png

Docker Desktop for Windows のインストール

1.こちら(https://www.docker.com/products/docker-desktop)の公式サイトからインストーラをダウンロードします。

image.png

2.ダウンロードしたインストーラを実行します。
実行して、数秒で設定画面が表示されます。
今回はWSL2も使用してDockerを実行しますので1つ目のチェックはONにします。
image.png

3.OKでインストールが開始します。
image.png

4.インストールが完了
再起動を促されるので再起動します。

Docker DeskTopを起動

1.起動後にサブスクリプション同意のポップアップが表示されます。(今回は個人利用で無料なのでAcceptを選択しました)
image.png

起動するとこちらのエラーメッセージが。。。
image.png

どうやらWSLの更新プログラムを反映する必要があるようです。
MicroSoftの公式サイトからこちらの更新プログラムをインストールします。

ダウンロードしたファイルを実行するとインストールが開始します。
image.png
image.png

2.PCを再起動することでDocker DeskTopが正常に起動しました。
image.png

CentOS環境の構築

以下のコマンドはWindows PowerShellで実行しています。

CentOSイメージの取得

Dockerイメージとは、コンテナを作成するための動作環境テンプレートです。

> docker pull centos:centos8
[結果]
centos8: Pulling from library/centos
xxxxxxxxxxx: Pull complete
Digest: sxxxx:xx7fdxxxxx7143cbxxxxxx1c40xxd534bbxxxxxxx7xxxxb1xx
Status: Downloaded newer image for centos:centos8
docker.io/library/centos:centos8

イメージ情報の表示

> docker images
[結果]
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
centos       centos8   xxxxxxxxxxxx   12 months ago   231MB

※Docker DeskTopの場合は一覧画面にて確認できます。
image.png

コンテナの作成

Dockerコンテナとは、Dockerイメージを用いて作成した仮想化環境です。

> docker run -it --name="testos01" centos:centos8 /bin/bash
[結果] ※コンテナが作成されログインした状態になります。
[root@xxxxxxxxxxx /]#

※一旦exitコマンドでログアウトして、コンテナを停止します。
exit
>

※Docker Desktopの場合はImagesの一覧ページからRunを選択でコンテナを作成できます。
image.png

PSコマンドでコンテナリストに「testos01」が追加されていることを確認できます。

> docker ps -a
[結果] -a オプションを付けた場合は停止中のコンテナも表示されます。
CONTAINER ID   IMAGE            COMMAND       CREATED              STATUS                          PORTS     NAMES
xxxxxxxxxxxx   centos:centos8   "/bin/bash"   About a minute ago   Exited (0) About a minute ago             testos01

※Docker Desktopの場合は一覧画面にて確認できます。
image.png

※Docker Desktopの場合は、以降の再起動/停止/削除についても一覧画面のACTIONボタンにて操作可能です。

コンテナの再起動

先ほど停止したコンテナを再度起動します

docker start testos01
[結果]
testos01

psコマンドで起動を確認します

> docker ps
[結果]
CONTAINER ID   IMAGE            COMMAND       CREATED          STATUS         PORTS     NAMES
xxxxxxxxxxxx   centos:centos8   "/bin/bash"   10 minutes ago   Up 5 minutes             testos01

無事コンテナが起動できました。

コンテナの停止

> docker stop testos01
[結果]
testos01

psコマンドで停止されていることを確認します。

> docker ps -a
[結果] -a オプションを付けた場合は停止中のコンテナも表示されます。
CONTAINER ID   IMAGE            COMMAND       CREATED          STATUS                      PORTS     NAMES
xxxxxxxxxxxx   centos:centos8   "/bin/bash"   16 minutes ago   Exited (0) 40 seconds ago             testos01

コンテナの削除

> docker rm testos01
[結果]
testos01

psコマンドで削除されたことを確認します。

> docker ps -a
[結果]
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

イメージを削除

削除前にイメージを確認

> docker images
[結果]
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
centos       centos8   xxxxxxxxxxxx   12 months ago   231MB

削除を実行

> docker rmi centos:centos8
[結果]
Untagged: centos:centos8
Untagged: centos@xxxxxx:xx7fd8080b517143cbbbabxxxxxxxxxxxxxxbdee55bd6c473f432b177
Deleted: xxxxxx:5d0da3dc976460b72c7xxxxxxxxxxxxx20b0416bfc16c52c4xxxxxxxxxxfadb6
Deleted: xxxxxx:74ddxxxxxxxxxxxxxba91a0a3053b02xxxxxxxxxxxxxxx89f85xxxx360xx6b59

imsgesコマンドで削除されたことを確認します

> docker images
[結果]
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

以上

次回は、コンテナ上での操作について投稿予定です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1