type
status
date
slug
summary
tags
category
icon
password
課題内容
1. 新しいディレクトリの作成とファイルの準備
- 新しいディレクトリを作成し、そのディレクトリに移動する。
- 「validation.txt」という名前のテキストファイルを作成し、以下の文章を記入する:
This is my Validation file!
- 同じディレクトリ内に「Containerfile(またはDockerfile)」を作成する。
2. Containerfileの作成
- ベースイメージには debian を使用する。
- 作成した「validation.txt」ファイルが コンテナ内に含まれる ように設定する。
- vimエディタ が使用できるように、以下のコマンドを効率的に実行する:
3. イメージのビルドとコンテナの実行
- 作成したContainerfileを使って カスタムイメージをビルド する。
- そのイメージを使って インタラクティブなTTYシェル付きコンテナを起動 する。
- 起動したコンテナ内で vimを使ってvalidation.txtの内容を開いて確認 する。
4. 不要なリソースの削除
- すべての コンテナとイメージを削除 する。
5. Containerfileの軽量化と設定変更
- vimのインストールを Containerfileから削除 し、全体のフットプリント(サイズ)を削減する。
- コンテナを起動した際、デフォルトのユーザーが "lalo" アカウントになるように設定する。
- コンテナ起動時に実行されるコマンドを "whoami" に設定する。
6. ホストとUIDのマッピング確認
- コンテナ内の "lalo" ユーザーが、ホスト上のどのUIDにマッピングされているか を確認する。
こんにちは!今回は Podman(または Docker)を使って、自作のテキストファイルを含むカスタムDebianイメージを作成し、それを軽量化・最適化するまでの一連の流れをブログ形式でまとめました。特に、vimのインストールやユーザー設定など、実践的な操作も含めて紹介します。
解決手順
✅ステップ1:作業ディレクトリとファイルの準備
まずは作業用のディレクトリを作成し、テキストファイルとContainerfile(Dockerfile)を用意します。
✅ステップ2:Containerfileの作成(vimあり)
次に、Debianベースでvimとvalidation.txtを含むコンテナイメージを定義します。
✅ステップ3:イメージのビルドとvimで内容確認
カスタムイメージをビルドして、vimでファイルを開いてみます。
✅ステップ4:すべてのコンテナとイメージを削除
一度使い終わったら、不要なコンテナとイメージを削除してクリーンアップ。
✅ステップ5:Containerfileを軽量化し、デフォルトユーザーとコマンドを設定
今度はvimのインストールを削除し、軽量化。さらに "lalo" ユーザーを作り、デフォルトのユーザーおよび起動コマンドを変更します。
このContainerfileで再度ビルドし、起動してみます。
✅ステップ6:ホストのUIDとlaloユーザーの対応を確認
Podmanでは、rootlessモードではホストのユーザーIDとコンテナ内ユーザーIDがマッピングされます。
id
コマンドで確認できます。出力例:
この場合、コンテナ内の
lalo
はホストのUID 1000にマッピングされています(rootless起動の場合)。🎯まとめ
ステップ | 概要 |
Step 1 | validation.txtとContainerfileを準備 |
Step 2 | vim入りのイメージを作成 |
Step 3 | コンテナ内でvimでファイル確認 |
Step 4 | 不要リソースの削除 |
Step 5 | イメージ軽量化・ユーザー設定 |
Step 6 | UIDマッピングの確認 |
今回のように、Podmanを使って段階的にコンテナを構築しながら、セキュアで軽量な環境を整備していく方法は非常に実用的です。ぜひ皆さんも試してみてください!
- Author:minami
- URL:http://preview.tangly1024.com/private-license/242d7ae8-88e2-80b7-a16b-d9b3ef85118e
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts