次世代コンテナエンジンの一つ「Podman」と、そのデスクトップツールである「Podman Desktop」でコンテナを管理する方法を解説する本連載。今回は、Podman Desktopを使ってGUIでコンテナを起動、停止させる方法を解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
次世代コンテナエンジンの一つ「Podman」と、そのデスクトップツールである「Podman Desktop」でコンテナを管理をする方法を解説する本連載。第2回は、Podmanでコンテナイメージを取得し、コンテナイメージを基にコンテナを起動したり、停止したりする方法を解説しました。今回は、前回の内容をデスクトップツールであるPodman Desktopで実現する方法を解説します。
まずはコンテナイメージを取得しましょう。前回同様、Apache httpdのコンテナイメージを取得します。Podman Desktopを起動したら、左のメニューから「Images」を選択します。
Imagesの画面が表示されたら、右上の「Pull」ボタンをクリックします。
「Image to Pull」の下の入力欄に取得するイメージの名前を入力します。Podman Desktopの場合、「Docker Hub」など、コンテナイメージの配布元(コンテナレジストリ)を明示する必要があります。Docker Hubからコンテナイメージを入手する場合は、先頭にdocker.io/library/を追記し、docker.io/library/httpdと入力します。その後、下の「Pull image」ボタンをクリックします。
イメージのダウンロードが始まるので、ダウンロードが終わるまでしばらく待ちます。ダウンロードが終わると、先ほど選択した「Pull image」ボタンの名前が「Done」に変わります。「Done」ボタンをクリックします。
すると、Images画面に戻り、先ほど取得したdocker.io/library/httpdのイメージが表示されています。
取得したコンテナイメージは、このImages画面に一覧表示されます。
取得したコンテナイメージを使ってコンテナを実行するには、先ほどのImages画面から、実行したいコンテナイメージの「▶」マークを選択します。
早速、先ほど取得したhttpdコンテナイメージを実行してみましょう。
実行するコンテナの設定画面が表示されます。前回同様、そのままではブラウザでアクセスしようとしてもネットワークが切り離されていて接続できないため、コンテナ側の80番ポートを公開するよう設定します。「Local port for 80/tcp」の右の入力欄に「12345」を入力し、最下部の「Start Container」ボタンをクリックします。
すると、コンテナが実行されます。コンテナが動作しているのかどうか、ログで確かめてみましょう。
表示されたコンテナ画面の「Logs」タブを選択します。Apache httpdのおなじみの起動ログが出力されており、正常に起動できていることが確認できます。
それでは、ブラウザを使ってアクセスしてみましょう。localhostの12345番ポートにアクセスしてみると、レスポンスを得られることが確認できます。
次に、前回同様にレスポンス内容を変えてみましょう。まずは、先ほどまで実行していたコンテナを停止させるために、右上の停止ボタンをクリックします。
先ほどまでのコンテナを停止できたら、新しくコンテナを実行する画面で「Volumes」の下の左の入力欄にマウントするホスト側のパスを、右の入力欄にコンテナ側のパスをそれぞれ入力します。
ここで指定しているindex.htmlは、前回作成したものと同じです。
最後にポートの公開設定を先ほどと同様に12345番に設定したら、最下部の「Start Container」ボタンをクリックします。コンテナが起動できたら、同様にブラウザでアクセスを試みると、きちんとレスポンスの内容が変わっていることを確認できます。
現存するコンテナを一覧で表示する際は、左のメニューから「Containers」を選択します。
この画面からコンテナを起動、停止、削除できます。「▶」ボタンでコンテナ実行、「⏹」ボタンでコンテナ停止、ごみ箱ボタンでコンテナを削除できます。
最後に、取得したコンテナイメージを削除するには、Images画面で削除するイメージの行にあるごみ箱ボタンをクリックします。
次回は、PodmanやPodman Desktopでコンテナをグループ化するPod機能を解説します。
サイオステクノロジー所属。OSS よろず相談室でサポート対応をしているテクニカルサポートエンジニア。Ansibleに出会ってから自動化に取り憑かれ、自身の業務やプライベートであらゆるものの自動化に取り組む。プライベートではJavaでちょっとしたツールの開発を趣味にしている。
Copyright © ITmedia, Inc. All Rights Reserved.