Docker
前提条件
- Docker Desktopを自分のPCにインストールしてください。
インストールが完了したら、ターミナルを開き、次のコマンドを実行してください。
bashdocker --versionDocker のバージョン情報が表示されれば、インストールは成功しています。バージョン情報が表示されない場合は、再度インストール手順を確認し、問題を解決してください。
知識課題
知識課題1
- コンテナ仮想化技術が登場する以前は、どのような課題があったのでしょうか。それらの課題に対して、Dockerはどのようなアプローチで解決を図ったのか、自分の言葉でまとめてみましょう。
- 従来の仮想化技術とDockerの違いについて調べ、それぞれの特徴を比較してください。その上で、Dockerの利点は何だと考えますか。
- 実際の開発や運用の現場で、Dockerがどのように活用されているのかを調べてください。そして、調べたことをもとに、Dockerを導入したことによるメリットについて学んだことを共有しましょう。
課題2
Dockerコンテナを実行するための環境であるDockerホストについて、その役割を説明してください。- また、Dockerホストとコンテナはどのように関係しているのでしょうか?
Docker Engineの主要な機能であるDockerクライアントとDocker デーモンはそれぞれどのような役割を持っているのでしょうか?- 両者はどのように連携して、Dockerコンテナを管理・操作しているのでしょうか?
課題3
- Dockerにおける
ネームスペース(Namespace)/コントロールグループ(cgroup)/ユニオンファイルシステム(UnionFS)の役割について教えてください。
課題4
- Dockerコンテナとはどのようなものか、簡潔に説明してください。
- Dockerイメージについて説明してください。
- また、Dockerイメージを使用することで、どのようなメリットがあるのか、具体例を交えて説明してください。
- Dockerレジストリとは何か、そしてDockerリポジトリとの関係について説明してください。
- また、広く利用されているパブリックレジストリを1つ挙げてください。
- Dockerfileの役割について説明してください。
- Dockerfileを使ってイメージを構築することで、どのような利点があるでしょうか。
課題5
以下のDockerコマンドについて、それぞれの使用目的を説明してください。
- docker container run
- docker container ls
- docker container start
- docker container stop
- docker container rm
- docker image
- docker pull
- docker push
- docker build
- docker exec
- docker logs
課題6
docker container runのオプションについて、それぞれの使用目的を説明してください。
- --detach , -d
- --env , -e
- --volume , -v
- --publish , -p
- --interactive , -i
- --tty , -t
- --name
- --restart
- --rm
実践課題
- Docker Hubから最新のUbuntuイメージを取得し、ローカル環境にダウンロードしてください。
- 適切なコマンドを使用して、イメージが正しくダウンロードされたことを確認してください。
- ダウンロードしたUbuntuイメージを使って、新しいコンテナを起動してください。
- コンテナに
my-ubuntuという名前を付けてください。 - コンテナ内でシェルを操作できるようにしてください。
- シェル内で
lsコマンドを実行し、ファイルシステムの内容を確認してください。 exitコマンドを使って、コンテナから抜けてください。
- シェル内で
- コンテナに
- 停止中の
my-ubuntuコンテナを確認してください。 - 停止中の
my-ubuntuコンテナを起動し、実行中のコンテナを確認してください。 - 再度、実行中の
my-ubuntuコンテナにシェルで接続し、コンテナから抜けてください。 my-ubuntuコンテナを停止し、停止したコンテナを削除してください。- コンテナが正常に削除されたことを確認してください。
- ローカル環境に存在するDockerイメージを確認し、ダウンロードしたUbuntuイメージを削除してください。