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を使って段階的にコンテナを構築しながら、セキュアで軽量な環境を整備していく方法は非常に実用的です。ぜひ皆さんも試してみてください!
     
    04プライベートレジストリ構築&カスタムPostgreSQL+Nginxでボリューム共有を実践してみた06nginxコンテナの操作とsystemdによる自動起動設定
    Loading...
    minami
    minami
    一个普通的干饭人🍚
    Announcement

    🎉 ブログへようこそ 🎉

    notion image
    名前:みなみ独立事務所
    性別:男
    国籍:China
    完全独学だけで基本情報をはじめ31個の資格を仕事をしながら合格。 現在はIT会社の技術担当や、ブログの執筆や学習支援などを手掛けています。 独学で合格できる学習法、勉強法、試験対策を配信します!

    📚 主な内容

    💻 IT・システム開発
    🏠 不動産 × 宅建士
    🎓 MBA 学習記録

    🔍 コンテンツの探し方

    現在、サイトのデザインはシンプルなため、情報がやや探しにくいかもしれません。
    気になるテーマを探す際は、タグ検索の利用をおすすめします。