あとがきのようなもの

インフラ関連,コンテナ,仮想化技術、過去に書いた記事の解説など

Podman 3.4.0-RC1 リリース

Podman v3.4.0-RC1がリリース。 github.com

Podman machine/macOS関係で修正が多く入っているのでビルドしてテストしてみた。

macOS用Podman 3.4.0-RC1のビルドとインストール

macOSの環境

$ sw_vers
ProductName:    macOS
ProductVersion: 11.6
BuildVersion:   20G165
$ go version
go version go1.17 darwin/amd64

Podmanのビルド

$ wget https://github.com/containers/podman/archive/refs/tags/v3.4.0-rc1.tar.gz
$ tar xvzf v3.4.0-rc1.tar.gz
$ cd podman-3.4.0-rc1/
$ make podman-remote-darwin

brew版の停止とgvproxyのシンボリックリンク作成

$ brew unlink podman
$ ln -s /usr/local/Cellar/podman/3.3.1/bin/gvproxy /usr/local/bin/
$ cp bin/darwin/podman /usr/local/bin/

動作確認

Podman machineの起動

$ podman --version
podman version 3.4.0-rc1
$ podman machine init
Extracting compressed file
$ podman machine ls
NAME                    VM TYPE     CREATED             LAST UP
podman-machine-default  qemu        About a minute ago  About a minute ago
$ podman machine start
INFO[0000] waiting for clients...
INFO[0000] listening tcp://0.0.0.0:7777
INFO[0000] new connection from  to /var/folders/df/vy1htn753fd_w4420rltfg0w0000gn/T/podman/qemu_podman-machine-default.sock
Waiting for VM ...
Machine "podman-machine-default" started successfully
  • Podman machineの起動後、起動完了のメッセージが追加
$ podman version
Client:
Version:      3.4.0-rc1
API Version:  3.4.0-rc1
Go Version:   go1.17
Built:        Fri Sep 17 10:11:13 2021
OS/Arch:      darwin/amd64

Server:
Version:      3.3.1
API Version:  3.3.1
Go Version:   go1.16.6
Built:        Tue Aug 31 05:46:36 2021
OS/Arch:      linux/amd64
  • Fedora CoreOSのPodman はまだv3.3.1

ポートフォワードのテスト

nginxコンテナを起動

$ podman run --rm -d --name nginx -p 8080:80 nginx
Resolving "nginx" using unqualified-search registries (/etc/containers/registries.conf.d/999-podman-machine.conf)
Trying to pull docker.io/library/nginx:latest...
Getting image source signatures
Copying blob sha256:20ab512bbb071cf0ca402b08d84c317f21cb888e49d6ffca7f851f1db3438e5b
Copying blob sha256:a330b6cecb98cd2425fd25fce36669073f593b3176b4ee14731e48c05d678cdd
Copying blob sha256:e0ad2c0621bc497b97748af8ca5767c8e7528f6d3fe9118fdb4d5d11faf49171
Copying blob sha256:9e56c3e0e6b7d4a8cc1719050e6573d2da2703b9d20097a3522b890e0ecf9fb8
Copying blob sha256:09f31c94adc624db7764fc3b46eb26c110c49056e18573e8d81f8cf9afb5a947
Copying blob sha256:32b26e9cdb837f314a3de1e50ba33e841eff1638c93e244b57304caf91b0fd10
Copying blob sha256:e0ad2c0621bc497b97748af8ca5767c8e7528f6d3fe9118fdb4d5d11faf49171
Copying blob sha256:9e56c3e0e6b7d4a8cc1719050e6573d2da2703b9d20097a3522b890e0ecf9fb8
Copying blob sha256:a330b6cecb98cd2425fd25fce36669073f593b3176b4ee14731e48c05d678cdd
Copying blob sha256:20ab512bbb071cf0ca402b08d84c317f21cb888e49d6ffca7f851f1db3438e5b
Copying blob sha256:09f31c94adc624db7764fc3b46eb26c110c49056e18573e8d81f8cf9afb5a947
Copying blob sha256:32b26e9cdb837f314a3de1e50ba33e841eff1638c93e244b57304caf91b0fd10
Copying config sha256:ad4c705f24d392b982b2f0747704b1c5162e45674294d5640cca7076eba2865d
Writing manifest to image destination
Storing signatures
23f3f49d1566235b14ad48579cd536d3b1b73df8f7a00810c98d2c7942fee853

curlで接続

$ curl http://localhost:8080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
  • v3.3.1ではCNIの指定が必要だったのが解消

Podman on Fedora on limaのアップデート

Podman v3.4.0-RC1のビルド

## on macOS
$ ssh -i ~/.lima/_config/user -o USER=$(whoami) -o StrictHostKeyChecking=no localhost -p 60024

## in the FedoraVM
$ curl -LO https://github.com/containers/podman/archive/refs/tags/v3.4.0-rc1.tar.gz
$ tar xvzf v3.4.0-rc1.tar.gz
$ cd podman-3.4.0-rc1/
$ make BUILDTAGS="selinux seccomp"
$ sudo make install PREFIX=/usr
$ systemctl --user daemon-reload
$ systemctl --user restart podman.socket
$ podman -r --url unix:/run/user/${UID}/podman/podman.sock version
Client:
Version:      3.4.0-rc1
API Version:  3.4.0-rc1
Go Version:   go1.16.6
Built:        Fri Sep 17 03:39:24 2021
OS/Arch:      linux/amd64

Server:
Version:      3.4.0-rc1
API Version:  3.4.0-rc1
Go Version:   go1.16.6
Built:        Fri Sep 17 03:39:24 2021
OS/Arch:      linux/amd64

動作確認

on macOS

$ podman system connection default lima
$ podman version
Client:
Version:      3.4.0-rc1
API Version:  3.4.0-rc1
Go Version:   go1.17
Built:        Fri Sep 17 10:11:13 2021
OS/Arch:      darwin/amd64

Server:
Version:      3.4.0-rc1
API Version:  3.4.0-rc1
Go Version:   go1.16.6
Built:        Fri Sep 17 12:39:24 2021
OS/Arch:      linux/amd64
  • macOSから VS CodeのRemote-ContainersでDevContainerへの接続もOK