はじめに
あなたは西部開拓時代の小さな町の保安官だと想像してください。悪名高い無法者が混乱を引き起こしており、あなたは違法な品物を運ぶために使われているコンテナを調査する必要があります。あなたの目的は、コンテナに関する情報を収集して無法者を追跡することです。
無法者のコンテナの特定
このステップでは、無法者のコンテナに見立てたコンテナを作成し、それを調査して主要な属性を特定することが任務です。
タスク
- 無法者コンテナの作成:
pythonイメージを使用し、長時間実行されるコマンドを指定してoutlawという名前のコンテナを作成します。 - コンテナの調査: Docker の調査コマンド(inspection commands)を使用して、コンテナの設定と実行状態を確認します。
要件
- コンテナ名は
outlawとすること - ベースイメージには
python:latestを使用すること - コンテナは(一度きりのコマンドではなく)継続的なプロセスを実行していること
- コンテナのイメージ、実行コマンド、および設定の詳細を調査できること
例
コンテナを作成して調査した後、以下のコマンドで詳細を確認できます:
docker inspect outlaw
docker ps -a --filter name=outlaw
コンテナリソースの分析
このステップでは、コンテナのリソース使用状況と設定をより深く掘り下げます。
タスク
- リソース割り当て: CPU やメモリの制限など、特定のリソース割り当てを行ってコンテナを作成し、それらの割り当てを調査する方法を学びます。これには、コンテナへのリソース割り当て方法の理解と、調査を通じた割り当て内容の検証が含まれます。
- ボリュームマウント: ボリュームマウントを設定したコンテナを作成し、そのマウントを通じてコンテナがホストのファイルシステムとどのようにやり取りするかを調査します。
要件
ubuntu:latestイメージを使用してoutlaw2という名前のコンテナを作成し実行すること- 特定の CPU およびメモリ制限をコンテナに設定すること
- ホストからコンテナへボリュームをマウントすること
- Docker の調査コマンドを使用して、リソース割り当てとボリュームマウントを確認すること
例
リソース制限とボリュームマウントを設定してコンテナを作成した後、その設定を調査できます:
## Check resource allocations
docker inspect --format='{{.HostConfig.Memory}}' outlaw2
docker inspect --format='{{.HostConfig.CpuQuota}}' outlaw2
## Check volume mounts
docker inspect --format='{{range .Mounts}}{{.Source}}:{{.Destination}}{{end}}' outlaw2
まとめ
このチャレンジでは、西部開拓時代の保安官になりきって、Docker の調査スキル(inspect skills)を駆使して悪名高い無法者を追跡しました。このチャレンジを完了することで、docker inspect コマンドを効果的に使用してコンテナの重要な情報を収集する方法について、より深い理解を得ることができたはずです。
なお、上記の内容は教育目的で作成されており、管理された環境で練習することを推奨します。



