このハンズオンでやること | Dockerコンテナで仮想環境プラットフォームを構築する |
想定時間 | 1h |
前提知識・用語 | 仮想化、CUI 操作 |
# おさらい
それでは実際にDockerを使って仮想環境プラットフォームを作ってみましょう。 事前準備の項を済ませているならばDocker環境は構築されているはずです。 下記コマンドを入力し、コマンドが実行できるか確認してください。
$ docker version
1
上記コマンドが実行できない方は、Docker(及びコマンド)のインストールが終わっているか確認し、未完了であればDockerのインストールを行ってください。
# Docker コンテナを起動する
Dockerコンテナを使って仮想環境プラットフォームを構築するには、大きく分けて以下のステップを踏む必要があります。
- Dockerイメージのビルド
- Dockerコンテナの作成
- Dockerコンテナの起動
まずは、作成済みのDockerコンテナイメージを利用してコンテナを起動してみましょう。
# 演習1 Dockerコンテナを起動する
docker run コマンドを使用して getting-started コンテナを起動します。
docker run --rm -p 80:80 docker/getting-started
1
実行中のログ
Unable to find image 'docker/getting-started:latest' locally
latest: Pulling from docker/getting-started
c158987b0551: Pull complete
1e35f6679fab: Pull complete
cb9626c74200: Pull complete
b6334b6ace34: Pull complete
f1d1c9928c82: Pull complete
9b6f639ec6ea: Pull complete
ee68d3549ec8: Pull complete
33e0cbbb4673: Pull complete
4f7e34c2de10: Pull complete
Digest: sha256:d79336f4812b6547a53e735480dde67f8f8f7071b414fbd9297609ffb989abc1
Status: Downloaded newer image for docker/getting-started:latest
89e2c9780f5caf3b5250013e002e8aaf9f8ea74c2e940eca49b890dfc019ab5e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 起動の確認
ブラウザで以下のURLを入力します:
以下のような画面が表示されれば成功です:
# コンテナの終了
Ctrl + C を押して終了します。
# 発展課題1: デーモンとして起動する
先ほどはフォアグラウンド実行だったため、ターミナルが占有されていました。
ここではバックグラウンド(デーモン)で起動し、ターミナルを占有しない方法を学びます。
起動後は docker ps
を使用して確認します。
# ステップ1: バックグラウンドで起動
docker run --rm -d -p 80:80 docker/getting-started
1
# ステップ2: コンテナの起動確認
docker ps
(出力例)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
38ebcf110f45 docker/getting-started "/docker-entrypoint.…" 3 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp fervent_shaw
1
2
3
4
5
6
2
3
4
5
6
- NAMES に表示されている値を控えておいてください。
# ステップ3: ブラウザで確認
http://localhost:80 (opens new window) にアクセスし、画面が表示されれば成功です。
# ステップ4: コンテナの停止
docker stop <NAME>
1
# ステップ5: 停止の確認
- http://localhost (opens new window) にアクセスして、表示されないことを確認。
- 以下のコマンドで、コンテナが停止していることを確認。
docker ps
(何も表示されなければ停止しています)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1
2
3
4
5
2
3
4
5
CC BY-SA Licensed | Copyright (c) 2022, Internet Initiative Japan Inc.