Linux上のPodmanコンテナの初心者向けガイド
テクノロジーの未来について話すとき、多くのベテランの技術者は、仮想化とコンテナ化がまさにその道であることを知っています。これらは、アプリケーションとサービスのセキュリティを強化し、スナップショット、テンプレート、およびアプリケーションごとに1つのサーバーモデルよりも優れたカスタマイズを可能にする他のサービスを通じて簡単に管理できます。ただし、仮想化とコンテナ化をどのように開始すべきかが常に完全に明確であるとは限りません。 Linux、Windows、macOSでの仮想化についてはこれまで何度も取り上げてきましたが、コンテナ化は少し異なる傾向があります。この記事では、コンテナ化に最適なツールであるLinux上のPodmanの初心者向けガイドを提供します。
コンテナとは何ですか?
コンテナは本質的に小さな仮想マシンですが、アプリケーション専用です。それらは多くの同じ概念を使用し、同じセキュリティと使いやすさの機能の多くを備えていますが、はるかに小さく、アプリケーションの簡単なイメージングと配布を可能にします。これは、FlatpaksとSnapsが基づいているものの多くです。 1つのプログラム、分離された環境で実行される複数のアプリケーションなど、類似点を確認し始めることができます。
私たちの多くは、コンテナーエンジンのOGであるDockerについて聞いたことがあるでしょう。 Podmanは、Dockerと非常によく似た構造を使用する類似のコンテナエンジンですが、いくつかの重要な違いがあります。
1つは、Podmanがデーモンレスであるのに対し、Dockerはデーモンに依存していることです。これは、Podmanコンテナがルートレベルの権限なしで機能できることを意味し、より高いセキュリティと柔軟性を可能にします。ユーザーレベルで実行されているコンテナは、ユーザーが自分のコンテナのみを表示でき、他のユーザーは表示できないことを意味します。 Podmanは、アーキテクチャがシンプルなため、システムリソースが軽くなり、より楽しいエクスペリエンスが実現します。
デーモンレスアーキテクチャは、ルートレスコンテナと呼ばれるものにつながります。これは、以前の違いに基づいていますが、セキュリティに重点を置いた概念です。攻撃者がコンテナを侵害し、なんらかの理由でなんとか逃げ出した場合、攻撃者はroot権限ではなく、基本的なユーザー権限しか持っていません。これを開始するには追加の設定が必要であり、現時点ではいくつかの欠点がありますが、一見の価値があります。
ほとんどのディストリビューションでは、Podmanがメインリポジトリにあり、簡単なインストールコマンドになっています:
#Debian / Ubuntusudo apt install podman#Fedora / CentOS / Redhatsudo dnf install podman#Arch Linuxsudo pacman -S podman#OpenSUSEsudo zypper install podman#Gentoosudo Emerge app-emulation / podman
Podmanコンテナを開始するためのコマンド構文は少し混乱する可能性がありますが、コツをつかみ始めると、パターンを認識し始めます。ターミナルに次のコマンドを入力して実行できるプロジェクトのサンプルコンテナがあります:
podman run -dt -p 8080:8080 / tcp -e HTTPD_VAR_RUN =/ run / httpd -e HTTPD_MAIN_CONF_D_PATH =/ etc / httpd / conf.d \ -e HTTPD_MAIN_CONF_PATH =/ etc / httpd / conf \ -e HTTPD_CONTAINER_SCRIPTS_PATH =/ usr / share / container-scripts / httpd / \ registerry.fedoraproject.org / f29 / httpd / usr / bin / run-httpd
これにより、リストされているレジストリからいくつかの画像が取得され、完了すると、長い番号が取得されます。後で実行中のコンテナを確認するときに、それが表示されることになります。
実行中のPodmanコンテナを確認するには、次のコマンドを入力します。
podman ps
以前に開始したコンテナが表示されます。これにより、実行されていることが確認されます。ただし、Apacheが実行しているWebページを具体的に確認する場合は、次のコマンドを実行します。
curl http://0.0.0.0:8080
0.0.0.0
を置き換える podman ps
を実行したときに表示されたIPアドレスを使用します 指図。たくさんの文字化けしたHTMLを取得する必要がありますが、上部を見ると、HTMLのタイトルの構文に気づき、それが機能していることがわかります。
Fedora上のApacheHTTPサーバーのテストページ
Podmanの良いところは、画像を使用することです。 httpd
のような他の画像を検索できます または実行したい他のプログラム。
podman search CONTAINERNAME
vncserver
を検索しました 、そしてこれが私が得たものです。多くのオプションがあることがわかりますが、それはあなたの個人的な好みに依存します。
これらの画像の1つを取得するには、 podman pull
を実行します コマンド。
podman pull CONTAINERNAME
コンテナレジストリの完全なURLを取得して、完全に正確にすることをお勧めします。例として、私が実行しているコマンドは次のとおりです。
podman pull docker.io/michaelaboeckler/vncserver
podman pull vncserver
を実行するだけではありません 必要な画像の代わりに、選択したくない画像がある可能性があるためです。
次のコマンドを使用して画像を確認することもできます:
podman画像
そして、次のコマンドでコンテナを停止します:
podman stop -l </ pre>
-l </ code> フラグは、最新の実行コンテナを停止することを意味しますが、
-a
を使用することもできます すべてのコンテナを停止するフラグ。Podmanがdocker.ioでコンテナイメージを確認できることにお気づきかもしれません。これは、PodmanコマンドとDockerコマンドが基本的に同じであるためです。そのため、
docker
のエイリアスを作成することをお勧めする場合があります。podman
へのコマンド このように:alias docker ='podman'これは、
docker
を入力するたびに意味します 、マシンはpodman
を実行します とにかくコマンド。ルートレスポッドマン システムをルートレスコンテナ用に設定するには、かなりの設定が必要ですが、Githubページに優れたドキュメントがあります。
Podmanでこの入門書を楽しんでいただけたでしょうか。これは、デーモンレス、ルートレスコンテナーを実行して、システムを無駄のない、整頓された、安全な状態に保つことができる、すばらしい小さなツールです。そうした場合は、ChromeOSのコンテナでUbuntuを実行する方法、Dockerコンテナを別のホストにコピーする方法、Dockerコンテナのリソースを制限する方法など、他のコンテナコンテンツを確認してください。
-
AndroidStudioの初心者向けガイド
Android Studioは、Androidアプリを開発するためのAndroidの公式統合開発環境(IDE)です。これは、Python開発者に人気のあるPyCharmで使用されているのと同じコードエディターであるIntelliJに基づいて構築されています。 Android Studioを初めて使用する場合は、以下の簡単な手順に従ってIDEに慣れてください。 インストール アプリケーションをダウンロードする前に、公式サイトにアクセスしてください。これを書いている時点で、完全にテストされたバージョン3.3をダウンロードする必要があります。追加機能を備えたより高いバージョンが利用可能ですが、そ
-
タッチタイピングの初心者向けガイド
タッチタイピング、つまり、キーボードを見る必要なしに10本の指すべてでタイピングするスキルは、タイピング速度を大幅に向上させたい場合に役立つスキルです。タッチタイピングを初めて使用する場合は、ここに初心者向けのガイドがあります。 タッチタイピングとは タッチタイピングはタッチスクリーンとは何の関係もありません。基本的に、タッチタイピングとは、キーボードの文字を見なくても、すべての指で入力できる機能です。これは、キーボード上の各文字、数字、記号の配置を記憶するだけでなく、どの指がどのキーを制御するかを記憶することによっても実現できます。 タッチタイピングの利点 最初は、タッチタイピングを使用