flagflag  
Page Top

Install anchor.png

# 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
Page Top
CentOS7 に v3 をインストールする(通常は v1.6.4 : 2021 9/18) anchor.png
  • CentOS7 は鬼門.バージョンが古すぎ.
# 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
 
Page Top

API用設定 anchor.png

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 が再起動する
       
Page Top

Skopeo anchor.png

 
Page Top

Buildah anchor.png

 
Page Top

Docker 互換 anchor.png

  • コマンド,Images は Docker 互換
  • でも色々とかなり違う!
     
Page Top

podman-compose anchor.png

Page Top
INSTALL anchor.png
(base) # pip --no-cache install podman-compose
  • JupyterHub の sawrmspawner はやっぱり動かんのう.
  • Network周りが違うよう.
     
Page Top

API anchor.png

  • v2.0 から RESTful API をサポート,varlink は廃止へ.
systemctl daemon-reload
systemctl enable podman.socket
systemctl start podman.socket
 
Page Top

共有 anchor.png

Page Top

ファイル(Volume)共有 anchor.png

  • 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毎に持つ必要がある)
       
Page Top

Tips anchor.png

Page Top

知らない所で蠢くヤツら anchor.png

  • 以下にファイルが作られる
    • ~/.local/share/containers/
    • ~/.config/containers/
  • /run/user/{uid}/ を使用する
    • /run/user/{uid}/ ログインすると作られるが,su - では作られない!
    • /run/user/{uid}/ はリーブートすると消える,
       
Page Top

Local Registory anchor.png

Page Top
作成 anchor.png
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' を追加.最後が良い
Page Top
Push anchor.png
podman tag localhost/jupyterhub/singleuser-ltids localhost:5000/jupyterhub/singleuser-ltids
podman push localhost:5000/jupyterhub/singleuser-ltids --tls-verify=false
Page Top
Pull anchor.png
podman pull localhost:5000/jupyterhub/singleuser-ltids --tls-verify=false
 
Page Top

Trouble Shooting anchor.png

Page Top
あるユーザの環境で動かない anchor.png
  • /.config, ~/.local を消す.

     
Page Top
error adding seccomp filter rule for syscall bdflush: requested action matches default action of filter anchor.png
  • runc が古い.
  • crun が早いが CentOS7 では入れられない(コンパイル失敗)
  • go で書かれているようだ.
     
  • /etc/containers/containers.conf を変更する必要があるかもしれない.
     
Page Top
user namespaces are not enabled in /proc/sys/user/max_user_namespaces(CentOS7) anchor.png
  • 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
       
Page Top
Error: Could not get runtime: kernel does not support overlay fs anchor.png
  • /etc/modules-load.d/overlay.conf
    • overlay と一行記述
  • reboot
  • lsmod |grep overlay
  • 何か色々と駄目だったけど,container パッケージを入れ直したら動いた
     
Page Top
the backing xfs filesystem is formatted without d_type support anchor.png
  • CentOS の場合,ファイルシステムを -n ftype=1 オプション付きで再フォーマット(ftype=d_type)
     
Page Top
Failed to allocate manager object: Permission denied anchor.png
  • see SELinux
    # getsebool -a | grep container
    # setsebool -P container_manage_cgroup on
 
Page Top
Docker を入れてから削除し,再び Podman を入れようとしたら駄目だった anchor.png
  • yum で poman のパッケージが見つからないとのエラー
    • /etc/dnf/dnf.conf で exclude=podman* runc* containernetworking-plugins* としていたのでそれをコメントアウト
  • それでもダメ
    • /etc/dnf/modules.d/container-tools.modul​e を削除.なぜか上手く行く.
       
Page Top
Error: could not get runtime: error creating tmpdir /run/user/1000/libpod/tmp: mkdir /run/user/1000: permission denied anchor.png
  • \rm -r ~/.conifg/containers/ ~/.local/share/containers/
  • JupyterHub ではこれでも解決しない?
  • su - ではなくて,ログインしてみる.
     
Page Top

Devel anchor.png

Page Top

PodmanSpawner anchor.png

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
 
Page Top

コマンド例 anchor.png

podman run -d --net host -v /home/teacher/iseki:/home/iseki/ -w /home/iseki/ 
--env JUPYTERHUB_API_TOKEN=cf30aa5ab007444ca6462ff8c4decfec 
--env JPY_API_TOKEN=cf30aa5ab007444ca6462ff8c4decfec 
--env JUPYTERHUB_CLIENT_ID=jupyterhub-user-iseki 
--env JUPYTERHUB_HOST= 
--env JUPYTERHUB_OAUTH_CALLBACK_URL=/user/iseki/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.150.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=7807b43805c442f4b38b1a89855df831 
--env JPY_API_TOKEN=7807b43805c442f4b38b1a89855df831 
--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.150.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   Freeze Diff Backup Copy Rename Reload   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)
Counter: 1750, today: 4, yesterday: 1
Last-modified: 2023-05-05 (Fri) 10:09:18 (JST) (367d) by iseki

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

89 user(s) are online (14 user(s) are browsing xpwiki)

Members: 0
Guests: 89

more...

Access Counter

Today : 9157915791579157
Yesterday : 1716817168171681716817168
Total : 2350561823505618235056182350561823505618235056182350561823505618
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com