しいしせねっとわーく
[ネットワーク編] [Linuxメモ] [SSL/TLS/PKIの基礎知識] [SSHの基礎知識]
[Docker]

Podmanメモ

Dockerを入れる前に互換環境を消すということで気になっていたRedHatのPodman。

Podman は Docker をつついてみてから使ってみるのもいいが、今ならRedHatはじめLinuxに標準で入っていたりするのはPodmanの方なので使いやすいかもしれない。

コンテナ系の仕様が公開されているのでsystemd系を使うようにして作られた系統。

GoogleのKubernetesと同じPod系設定ファイルが使えるらしいので、単体Kubernetesとして使うのもいいのかもしれない。

操作系はDocker互換を目指している。ComposeではなくPodを使う方向だったが、v4系でDocker Composeも対応していた。

plugin も使える。compose plugin は使えるがDocker系?

Docker Compose 系にも対応しているが、pod として複数コンテナをまとめる系統になっているようだ。

参考本

インストールしてみる

https://podman.io/ または https://podman-desktop.io/

RaspberryPi 4B

使っていた RaspberryPi は podman v3.0.1 だったのでdocker compose 互換はまだ入っていないバージョンだった。一応次のかたちで使えるがOS入れ直してみよう。

# apt install podman

v4.3ぐらいになるまでは pip で docker-compose 互換環境をインストールする (暫定)

# pip3 install podman-compose

OSを入れ直してみる。 https://www.raspberrypi.com/software/

RaspberryPi OS Lite 64bit 最新版(2024-03-15 リリース) bookwormでは podman v4.3.1 が使える。

# apt install podman podman-compose

podman-compose もインストールできるが podman compose の拡張としては使えない

などが未対応

Windows

Podman Desktop v1.8くらいからインストールできるのでDesktop から入れてみるといろいろ簡単。Githubに最新版もあるので入れ換えてもいい。

wsl2 を最新版にしないといけない場合があるかも。

Podman v5.0 もPodman Desktop v1.8から使えるのでどちらのバージョンでもいいかも。

Podmanインストール後、VMを作成するとだいたい使える。wsl --list やWindows Terminal から確認できる。名前を変えていなければpodman-machine-default という名になっていたりする。標準でインストールされるUbuntu とは別に実行される。Dockerとも別環境になる。

コマンドプロンプトからも利用可能、実体は作成したVMで実行されている。

再インストール? Githubの最新版 Podman Version 4.8.2に変えてみる。

Windows に再インストールしてもVMの環境は更新されないのでVMは消して作り直すくらいがいいかもしれない。データは退避しておくか構築しなおすか。古い方は使わなくなるまで残してもいい。

Podman Desktop から VMを削除する、新しくVMを作り直す。とするくらいだと楽。

Docker との差?

コマンドは互換を目指しているようだ。

podが扱えるなどいろいろ拡張されているところはあるが。まずはDockerの範囲で。

内部ではデーモンレスをうたっている。そういうことで? Dockerはroot前提で動いていた。PodmanはLinuxのユーザ空間でも実行することができる。1000番以下のポートが開けないなど普通の制限はあるがそれ以外気になるような点もないはず。

コマンド

podman ← docker

podman-compose ← docker compose

その程度でDockerで使える機能はだいたい使える。最新だとpluginも使えるらしい。podman compose プラグインは docker と podman どっちに繋がるのかよくわからない。

置き換えるパッケージもあるらしいので入れてみると外見はほとんど同じになるようだ。

imageの指定

Docker HubはDocker用なので、docker.io/ がないと探せなくなる。Docker用でも付けておいた方がよさそう。

どこかを設定すれば解決できる。

podman login docker.io

Java を利用するには

などを利用する

    x86-64 aarch64
    amd64 arm64 arm64/v8
eclipse-temurin 17  
21   ×
openjdk 17  
21  
RaspberryPi     4B 5B

 

eclipse-temurin:21 は RsapberryPi では arm64/v8 なので5B専用、openjdk:21 は arm64 なので4Bでも使えた。

 


[しいしせねっと]