flagflag  
1: 2020-08-16 (Sun) 16:50:23 iseki source Cur: 2023-05-05 (Fri) 10:09:18 iseki source
Line 1: Line 1:
** Podman [#j2bbc8d3] ** Podman [#j2bbc8d3]
- RedHat社が開発したコンテナ管理ツール - RedHat社が開発したコンテナ管理ツール
 +- No Daemon, Root less
 +-- UNIXソケットを使って通信する場合は,デーモンがいる?
 +- [[Docker]] 互換らしい
 +-- しかし Compose は無い.
 +--- Compose, Network の代わりに [[Kubernetes]] を使うらしい.
 +--- 3rdパーティ製の podman-compose があるらしい
 +- 関連システム: [[skopeo>./Skopeo]], [[buildah>./Buildah]]
 +
 +- see also [[PodmanSpawner]], [[LTIPodmanSpawner>/JupyterHub/LTIPodman​Spawner]]
#br #br
 +
 +*** Install [#e1275c8f]
 + # dnf module install container-tools -y
 + # dnf install podman -y
 + # dnf install podman-docker -y
 + # dnf install podman-remote -y
 + # dnf install podman-plugins -y
 +
 +**** CentOS7 に v3 をインストールする(通常は v1.6.4 : 2021 9/18) [#h57980fd]
 +- CentOS7 は鬼門.バージョンが古すぎ.
 +
 +- /etc/yum.repo.d/podman.repo
 +--https://download.opensuse.org/reposito​ries/devel:/kubic:/libcontainers:/stable​/CentOS_7/devel:kubic:libcontainers:stab​le.repo
 + [devel_kubic_libcontainers_stable]
 + name=Stable Releases of Upstream github.com/containers packages (CentOS_7)
 + type=rpm-md
 + baseurl=https://download.opensuse.org/r​epositories/devel:/kubic:/libcontainers:​/stable/CentOS_7/
 + gpgcheck=1
 + gpgkey=https://download.opensuse.org/re​positories/devel:/kubic:/libcontainers:/​stable/CentOS_7/repodata/repomd.xml.key
 + enabled=1
 +
 + # yum install podman -y
 + # yum install podman-docker -y
 + # yum install podman-remote -y
 + # yum install podman-plugins -y
 + # podman --version
 + 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
 +
 +*** [[Skopeo>./Skopeo]] [#aea7a285]
 +#br
 +
 +*** [[Buildah>./Buildah]] [#cb7c2397]
 +#br
 +** Docker 互換 [#k05aa12a]
 +- コマンド,Images は Docker 互換
 +- でも色々とかなり違う!
 +#br
 +
 +***  podman-compose [#db6acd76]
 +- 3rdパーティ製の podman-compose
 +- https://github.com/containers/podman-com​pose
 +#br
 +
 +**** INSTALL [#kd2bd466]
 + (base) # pip --no-cache install podman-compose
 +
 +- [[JupyterHub]] の sawrmspawner はやっぱり動かんのう.
 +- Network周りが違うよう.
 +#br
 +
 +** API [#qe433dba]
 +- v2.0 から RESTful API をサポート,varlink は廃止へ.
 +
 + systemctl daemon-reload
 + systemctl enable 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/back​ingFsBlockDev  特に処理する必要はない(と思う)
 +-- Docker: /var/lib/docker/volumes/metadata.db (PC毎に持つ必要がある)
 +#br
 +
 +** Tips [#ef3c521a]
 +
 +*** 知らない所で蠢くヤツら [#q8fa6054]
 +- 以下にファイルが作られる
 +-- ~/.local/share/containers/
 +-- ~/.config/containers/
 +- /run/user/{uid}/ を使用する
 +-- /run/user/{uid}/ ログインすると作られるが,su - では作られない!
 +-- /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-lti​ds
 + podman push localhost:5000/jupyterhub/singleuser-lti​ds --tls-verify=false
 +**** Pull [#i0ca7366]
 + podman pull localhost:5000/jupyterhub/singleuser-lti​ds --tls-verify=false
 +#br
 +
 +** 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.g​it
 + 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]
 +- sysctl user.max_user_namespaces=15000
 +-- cat /proc/sys/user/max_user_namespaces
 +-- これって一時的?
 +
 +- (?) usermod --add-subuids 200000-201000 --add-subgids 200000-201000 iseki
 +-- grep iseki /etc/subuid /etc/subgid
 +#br
 +
 +**** Error: Could not get runtime: kernel does not support overlay fs [#me91ced4]
 +- /etc/modules-load.d/overlay.conf
 +-- overlay と一行記述
 +- reboot
 +- lsmod |grep overlay
 +
 +- 何か色々と駄目だったけど,container パッケージを入れ直したら動いた
 +#br
 +
 +**** the backing xfs filesystem is formatted without d_type support [#e686d23d]
 +- CentOS の場合,ファイルシステムを -n ftype=1 オプション付きで再フォーマット(ftype=d_type)
 +#br
 +
 +**** Failed to allocate manager object: Permission denied [#a4b1a56f]
 +- see [[SELinux]]
 + # getsebool -a | grep container
 + # 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.modul​e を削除.なぜか上手く行く.
 +#br
 +
 +**** Error: could not get runtime: error creating tmpdir /run/user/1000/libpod/tmp: mkdir /run/user/1000: permission denied [#g52262c4]
 +- \rm -r ~/.conifg/containers/ ~/.local/share/containers/
 +- JupyterHub ではこれでも解決しない?
 +- su - ではなくて,ログインしてみる.
 +#br
 +** Devel [#de1c7526]
 +*** PodmanSpawner [#vc216da5]
 +- https://github.com/gatoniel/podmanspawne​r
 +
 + podman run -d --net host
 + -v /home/teacher/iseki:/home/iseki/
 + -v /mnt/datahdd:/extdata
 + -w /home/iseki/
 + --hooks-dir /usr/share/containers/oci/hooks.d/
 + -e NVIDIA_VISIBLE_DEVICES=all
 + docker.io/jupyterhub/singleuser
 + jupyterhub-singleuser
 + --NotebookApp.port=42868
 + --allow-root
 +
 + podman run -d --net host
 + -v /home/bob:/home/jovyan/home
 + -v /mnt/datahdd:/exdata
 + docker.io/jupyterhub/singleuser
 + start-notebook.sh
 + --NotebookApp.port=50377
 +#br
 +
 +*** コマンド例 [#r3871214]
 +
 + podman run -d --net host -v /home/teacher/iseki:/home/iseki/ -w /home/iseki/
 + --env JUPYTERHUB_API_TOKEN=cf30aa5ab007444ca64​62ff8c4decfec
 + --env JPY_API_TOKEN=cf30aa5ab007444ca6462ff8c4​decfec
 + --env JUPYTERHUB_CLIENT_ID=jupyterhub-user-ise​ki
 + --env JUPYTERHUB_HOST=
 + --env JUPYTERHUB_OAUTH_CALLBACK_URL=/user/isek​i/oauth_callback
 + --env JUPYTERHUB_USER=iseki
 + --env JUPYTERHUB_SERVER_NAME=
 + --env JUPYTERHUB_API_URL=http://202.26.150.118​:8081/hub/api
 + --env JUPYTERHUB_ACTIVITY_URL=http://202.26.15​0.118:8081/hub/api/users/iseki/activity
 + --env JUPYTERHUB_BASE_URL=/
 + --env JUPYTERHUB_SERVICE_PREFIX=/user/iseki/
 + --env GRANT_SUDO=no
 + --env CHOWN_HOME=yes
 + --env PRJCT_DIR=jupyter
 + --env WORK_DIR=works
 + --env COURSE_DIR=.courses
 + --env NB_UMASK=0037
 + --env CONDA_DIR=/opt/conda
 + --env TZ=JST-9
 + --env JUPYTER_ENABLE_LAB=yes
 + --env JUPYTER_IMAGE_SPEC=docker.io/jupyterhub/​singleuser
 + -v /mnt/datahdd:/extdata
 + --hooks-dir /usr/share/containers/oci/hooks.d/
 + -e NVIDIA_VISIBLE_DEVICES=all
 + docker.io/jupyterhub/singleuser jupyterhub-singleuser
 + --NotebookApp.port=42868
 + --allow-root
 + --ip=0.0.0.0
 +
 + podman run -d --net host -v /home/bob:/home/jovyan/home
 + --env JUPYTERHUB_API_TOKEN=7807b43805c442f4b38​b1a89855df831
 + --env JPY_API_TOKEN=7807b43805c442f4b38b1a8985​5df831
 + --env JUPYTERHUB_CLIENT_ID=jupyterhub-user-bob​
 + --env JUPYTERHUB_HOST=
 + --env JUPYTERHUB_OAUTH_CALLBACK_URL=/user/bob/​oauth_callback
 + --env JUPYTERHUB_USER=bob
 + --env JUPYTERHUB_SERVER_NAME=
 + --env JUPYTERHUB_API_URL=http://202.26.150.118​:8081/hub/api
 + --env JUPYTERHUB_ACTIVITY_URL=http://202.26.15​0.118:8081/hub/api/users/bob/activity
 + --env JUPYTERHUB_BASE_URL=/
 + --env JUPYTERHUB_SERVICE_PREFIX=/user/bob/
 + --env GRANT_SUDO=no
 + --env CHOWN_HOME=yes
 + --env PRJCT_DIR=jupyter
 + --env WORK_DIR=works
 + --env COURSE_DIR=.courses
 + --env NB_UMASK=0037
 + --env CONDA_DIR=/opt/conda
 + --env TZ=JST-9
 + --env JUPYTER_ENABLE_LAB=yes
 + --env JUPYTER_IMAGE_SPEC=docker.io/jupyterhub/​singleuser
 + -v /mnt/datahdd:/exdata docker.io/jupyterhub/singleuser
 + start-notebook.sh
 + --NotebookApp.port=50377


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

51 user(s) are online (17 user(s) are browsing xpwiki)

Members: 0
Guests: 51

more...

Access Counter

Today : 7865786578657865
Yesterday : 1361113611136111361113611
Total : 2364627223646272236462722364627223646272236462722364627223646272
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com