RaspberryPiでコンテナを始める~Podman編~

★★★ Live配信告知 ★★★
◆◇世界一わかりみの深いクラウドネイティブ on Azure◆◇
6/22(金) 12:00~ 第14回:世界一わかりみの深いAzure Bot Service 〜AIによるFAQチャットボット構築〜
今回はAzure Cognitive Service for LanguageというAzureのAIサービスを用いて、FAQチャットボットの構築方法についてわかりみ深く説明します。
◆◇PS Live配信◆◇
5/20(金) 17:00~ アウトプットはイイぞ 〜人生折り返し地点からの情報発信で学びが楽しくなった話〜
2020年にMicrosoft MVP for Azure を受賞した武井が人生を変えたアウトプットについてそのノウハウをお伝えします。

~Podman編~

 こんにちは、サイオステクノロジーのエンジニア 中島です。

前回は、Dockerをベースに行いました。Docker以外でもPodmanというツールがあり、もし突然Dockerのサポートを得ることが難しくなってもPodmanの使い方を覚えていれば移行も可能ではないのかと思ったので、Dockerと同じことがPodmanでもできることを前回の記事に確認してみます。なお、確認用の端末としてRaspberry Pi4を使用しています。

 

Podmanのインストール

 Raspberry Pi OS上でPodmanをインストールするには、64bit用を使用したほうがPodman用のライブラリが楽に導入できるため、64bit用のRaspberry Pi OSを使用します。

 次に、Rapsberry Pi OS用のリポジトリにPodmanのインストールリポジトリが登録されていないため、コンテナ動作エンジンであるCRI-Oが公開しているリポジトリを登録します。このリポジトリを追加する理由としてはPodmanのパッケージがこの中に含まれているため、それを使用するとインストールが非常に簡単になります。

 

以下のコマンドで、CRI-Oのリポジトリを登録します。

次に、以下のコマンドでリポジトリの更新とアップグレードを実施して、podmanのインストールを行います。

以上で、Podmanのインストールは終わりです。

余談となりますが、32bit用のRaspberry Pi OSでpodmanをインストールしようとすると以下の通り、ライブラリが古いためインストールができないとエラーが返され、簡単に解決することは難しくなります。

Nginxの動作確認

前回の記事同様にNginxコンテナをPodmanで動かします。

まず、以下のコマンドを入力してNginxのコンテナをpullします。

pullを実行すると、コンテナのpull先を聞かれますので、好きなほうを選びます。なお、上記の設定が出る理由として、podmanのコンテナレジストリの参照先として、dockerhubquay.ioがデフォルトのダウンロード先として登録しているからです。

後は、以下のコマンドを実行することで、nginxコンテナを立ち上げることができます。

 

DockerComposeを利用する

以下のコマンドで、DockerComposeをインストールします。一応pipコマンドでインストールする理由としては、aptコマンドを使用すると同時にdockerもインストールされることが理由となります。

次に、DockerComposeでPodmanを使用できるようにソケットサービスを以下のコマンドで作成します。この方法で作成する方法はrootlessと呼ばれており、この方法で作成したソケットは作成したユーザがDockerComposeを利用して、コンテナを立ち上げることができるようになります。

次に、DockerComposeが作成したソケットを使用するように「DOCKER_HOST」の環境変数を以下のコマンドで設定します。

ただし、上記の方法はログアウトしたり再起動すると無効になるため以下のコマンドでログイン時に自動実行するように設定します。

以上で、DockerComposeの設定は完了となります。次に動作テスト、前回と同じようにNextCloudをDockerComposeで立ち上げてみますので、以下のdocker-compose.ymlファイルを作成します。

 

以下のコマンドを実行して、NextCloudのサービスをDockerComposeで立ち上げます。

ブラウザでhttp://IP:8080にアクセスすると以下の通り、管理ユーザの登録サイトが表示されます。

rootlessモードでのやり方を解説しましたが、root専用でサービスソケットを作成する場合は以下のコマンドを実行します。

 

まとめ

 本記事は、RaspberryPiと呼ばれるシングルボードコンピュータでDockerと同じようにPodmanを動かすことができました。PodmanであってもDockerと同じように作成することができます。しかし、32bit OSではPodmanを使用することはDockerにくらべて難しいため、Raspberry Piも64bit OSを使用することを進めます。





ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!


ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

Be the first to comment

Leave a Reply

Your email address will not be published.


*