9: 2021-09-18 (土) 11:46:25 iseki |
現: 2023-05-05 (金) 10:09:18 iseki |
| - RedHat社が開発したコンテナ管理ツール | | - RedHat社が開発したコンテナ管理ツール |
| - No Daemon, Root less | | - No Daemon, Root less |
| + | -- UNIXソケットを使って通信する場合は,デーモンがいる? |
| - [[Docker]] 互換らしい | | - [[Docker]] 互換らしい |
| -- しかし Compose は無い. | | -- しかし Compose は無い. |
| --- 3rdパーティ製の podman-compose があるらしい | | --- 3rdパーティ製の podman-compose があるらしい |
| - 関連システム: [[skopeo>./Skopeo]], [[buildah>./Buildah]] | | - 関連システム: [[skopeo>./Skopeo]], [[buildah>./Buildah]] |
| + | |
| + | - see also [[PodmanSpawner]], [[LTIPodmanSpawner>/JupyterHub/LTIPodmanSpawner]] |
| #br | | #br |
| | | |
| | | |
| **** CentOS7 に v3 をインストールする(通常は v1.6.4 : 2021 9/18) [#h57980fd] | | **** CentOS7 に v3 をインストールする(通常は v1.6.4 : 2021 9/18) [#h57980fd] |
| + | - CentOS7 は鬼門.バージョンが古すぎ. |
| + | |
| - /etc/yum.repo.d/podman.repo | | - /etc/yum.repo.d/podman.repo |
| --https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_7/devel:kubic:libcontainers:stable.repo | | --https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_7/devel:kubic:libcontainers:stable.repo |
| # podman --version | | # podman --version |
| podman version 3.0.1 | | podman version 3.0.1 |
| + | #br |
| + | |
| + | *** API用設定 [#s175c767] |
| + | |
| + | adduser podman |
| + | passwd podman |
| + | chgrp podman /var/run/podman (再起動したら元に戻ってしまう) |
| + | chmod g+rwxs /var/run/podman (同上) |
| + | systemctl start podman.socket |
| + | - %%必要なら podman.socket の [Socket] に podman.socket を付け加える%% ??? |
| + | |
| + | - podman.socket |
| + | [Unit] |
| + | Description=Podman API Socket |
| + | Documentation=man:podman-system-service(1) |
| + | |
| + | [Socket] |
| + | ExecStartPre=/usr/bin/chgrp podman /var/run/podman |
| + | ExecStartPre=/usr/bin/chmod g+rwxs /var/run/podman |
| + | ListenStream=%t/podman/podman.sock |
| + | SocketMode=0660 |
| + | |
| + | [Install] |
| + | WantedBy=sockets.target |
| + | |
| + | |
| + | - CemtOS7 では動かない. |
| + | -- 断続的に podman が再起動する |
| #br | | #br |
| | | |
| *** [[Skopeo>./Skopeo]] [#aea7a285] | | *** [[Skopeo>./Skopeo]] [#aea7a285] |
| #br | | #br |
| + | |
| *** [[Buildah>./Buildah]] [#cb7c2397] | | *** [[Buildah>./Buildah]] [#cb7c2397] |
| #br | | #br |
| systemctl enable podman.socket | | systemctl enable podman.socket |
| systemctl start podman.socket | | systemctl start podman.socket |
| + | #br |
| + | |
| + | ** 共有 [#i5d4cb87] |
| + | *** ファイル(Volume)共有 [#b06f7730] |
| + | - volume : /var/lib/containers/storage/volumes |
| + | -- Docker : /var/lib/docker/volumes |
| + | |
| + | - 特殊ファイル: /var/lib/containers/storage/volumes/backingFsBlockDev 特に処理する必要はない(と思う) |
| + | -- Docker: /var/lib/docker/volumes/metadata.db (PC毎に持つ必要がある) |
| #br | | #br |
| | | |
| -- /run/user/{uid}/ ログインすると作られるが,su - では作られない! | | -- /run/user/{uid}/ ログインすると作られるが,su - では作られない! |
| -- /run/user/{uid}/ はリーブートすると消える, | | -- /run/user/{uid}/ はリーブートすると消える, |
| + | #br |
| + | *** Local Registory [#m7fe6c75] |
| + | **** 作成 [#e5b11e92] |
| + | mkdir -p /var/lib/registry |
| + | podman run --privileged -d --name registry -p 5000:5000 -v /var/lib/registry:/var/lib/registry --restart=always registry:2 |
| + | vi /etc/containers/registries.conf registries に 'localhost:5000' を追加.最後が良い |
| + | **** Push [#g1aa40ba] |
| + | podman tag localhost/jupyterhub/singleuser-ltids localhost:5000/jupyterhub/singleuser-ltids |
| + | podman push localhost:5000/jupyterhub/singleuser-ltids --tls-verify=false |
| + | **** Pull [#i0ca7366] |
| + | podman pull localhost:5000/jupyterhub/singleuser-ltids --tls-verify=false |
| #br | | #br |
| | | |
| ** Trouble Shooting [#t88c99fe] | | ** Trouble Shooting [#t88c99fe] |
| + | **** あるユーザの環境で動かない [#i8332a5e] |
| + | - ~/.config, ~/.local を消す. |
| + | #br |
| + | |
| + | **** error adding seccomp filter rule for syscall bdflush: requested action matches default action of filter [#tff9d91e] |
| + | - runc が古い. |
| + | - crun が早いが CentOS7 では入れられない(コンパイル失敗) |
| + | -- https://github.com/opencontainers/runc |
| + | git clone https://github.com/opencontainers/runc.git |
| + | cd runc/ |
| + | make |
| + | make install |
| + | - go で書かれているようだ. |
| + | #br |
| + | - /etc/containers/containers.conf を変更する必要があるかもしれない. |
| + | #br |
| + | |
| **** user namespaces are not enabled in /proc/sys/user/max_user_namespaces(CentOS7) [#qd5c0a60] | | **** user namespaces are not enabled in /proc/sys/user/max_user_namespaces(CentOS7) [#qd5c0a60] |
| - sysctl user.max_user_namespaces=15000 | | - sysctl user.max_user_namespaces=15000 |
| # setsebool -P container_manage_cgroup on | | # setsebool -P container_manage_cgroup on |
| | | |
| + | #br |
| + | |
| + | **** Docker を入れてから削除し,再び Podman を入れようとしたら駄目だった [#b144a12f] |
| + | - yum で poman のパッケージが見つからないとのエラー |
| + | -- /etc/dnf/dnf.conf で exclude=podman* runc* containernetworking-plugins* としていたのでそれをコメントアウト |
| + | - それでもダメ |
| + | -- /etc/dnf/modules.d/container-tools.module を削除.なぜか上手く行く. |
| #br | | #br |
| | | |
| #br | | #br |
| ** Devel [#de1c7526] | | ** Devel [#de1c7526] |
| + | *** PodmanSpawner [#vc216da5] |
| + | - https://github.com/gatoniel/podmanspawner |
| + | |
| podman run -d --net host | | podman run -d --net host |
| -v /home/teacher/iseki:/home/iseki/ | | -v /home/teacher/iseki:/home/iseki/ |
| --NotebookApp.port=50377 | | --NotebookApp.port=50377 |
| #br | | #br |
- | - コマンド例 | + | |
| + | *** コマンド例 [#r3871214] |
| | | |
| podman run -d --net host -v /home/teacher/iseki:/home/iseki/ -w /home/iseki/ | | podman run -d --net host -v /home/teacher/iseki:/home/iseki/ -w /home/iseki/ |