Home
News
Forum
Wiki
Blog
Contents
Gallery
Movies
Downloads
About NSL
If you want to see English page, please click "English" Button at Left.
[
タイトル一覧
|
ページ一覧
|
新規
|
単語検索
|
最終更新
|
ヘルプ
]
Podman
をテンプレートにして作成
[
トップ
]
[ ]
開始行:
** Podman
- RedHat社が開発したコンテナ管理ツール
- No Daemon, Root less
-- UNIXソケットを使って通信する場合は,デーモンがいる?
- [[Docker]] 互換らしい
-- しかし Compose は無い.
--- Compose, Network の代わりに [[Kubernetes]] を使うらし...
--- 3rdパーティ製の podman-compose があるらしい
- 関連システム: [[skopeo>./Skopeo]], [[buildah>./Buildah]]
- see also [[PodmanSpawner]], [[LTIPodmanSpawner>/Jupyter...
#br
*** Install
# 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 : 20...
- CentOS7 は鬼門.バージョンが古すぎ.
- /etc/yum.repo.d/podman.repo
--https://download.opensuse.org/repositories/devel:/kubic...
[devel_kubic_libcontainers_stable]
name=Stable Releases of Upstream github.com/containers p...
type=rpm-md
baseurl=https://download.opensuse.org/repositories/devel...
gpgcheck=1
gpgkey=https://download.opensuse.org/repositories/devel:...
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用設定
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]]
#br
*** [[Buildah>./Buildah]]
#br
** Docker 互換
- コマンド,Images は Docker 互換
- でも色々とかなり違う!
#br
*** podman-compose
- 3rdパーティ製の podman-compose
- https://github.com/containers/podman-compose
#br
**** INSTALL
(base) # pip --no-cache install podman-compose
- [[JupyterHub]] の sawrmspawner はやっぱり動かんのう.
- Network周りが違うよう.
#br
** API
- v2.0 から RESTful API をサポート,varlink は廃止へ.
systemctl daemon-reload
systemctl enable podman.socket
systemctl start podman.socket
#br
** 共有
*** ファイル(Volume)共有
- volume : /var/lib/containers/storage/volumes
-- Docker : /var/lib/docker/volumes
- 特殊ファイル: /var/lib/containers/storage/volumes/back...
-- Docker: /var/lib/docker/volumes/metadata.db (PC毎に...
#br
** Tips
*** 知らない所で蠢くヤツら
- 以下にファイルが作られる
-- ~/.local/share/containers/
-- ~/.config/containers/
- /run/user/{uid}/ を使用する
-- /run/user/{uid}/ ログインすると作られるが,su - では作...
-- /run/user/{uid}/ はリーブートすると消える,
#br
*** Local Registory
**** 作成
mkdir -p /var/lib/registry
podman run --privileged -d --name registry -p 5000:5000 ...
vi /etc/containers/registries.conf regis...
**** Push
podman tag localhost/jupyterhub/singleuser-ltids localho...
podman push localhost:5000/jupyterhub/singleuser-ltids -...
**** Pull
podman pull localhost:5000/jupyterhub/singleuser-ltids -...
#br
** Trouble Shooting
**** あるユーザの環境で動かない
- ~/.config, ~/.local を消す.
#br
**** error adding seccomp filter rule for syscall bdflush...
- 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/ma...
- sysctl user.max_user_namespaces=15000
-- cat /proc/sys/user/max_user_namespaces
-- これって一時的?
- (?) usermod --add-subuids 200000-201000 --add-subgids 2...
-- grep iseki /etc/subuid /etc/subgid
#br
**** Error: Could not get runtime: kernel does not suppor...
- /etc/modules-load.d/overlay.conf
-- overlay と一行記述
- reboot
- lsmod |grep overlay
- 何か色々と駄目だったけど,container パッケージを入れ直...
#br
**** the backing xfs filesystem is formatted without d_ty...
- CentOS の場合,ファイルシステムを -n ftype=1 オプション...
#br
**** Failed to allocate manager object: Permission denied
- see [[SELinux]]
# getsebool -a | grep container
# setsebool -P container_manage_cgroup on
#br
**** Docker を入れてから削除し,再び Podman を入れようと...
- yum で poman のパッケージが見つからないとのエラー
-- /etc/dnf/dnf.conf で exclude=podman* runc* containerne...
- それでもダメ
-- /etc/dnf/modules.d/container-tools.module を削除.なぜ...
#br
**** Error: could not get runtime: error creating tmpdir ...
- \rm -r ~/.conifg/containers/ ~/.local/share/containers/
- JupyterHub ではこれでも解決しない?
- su - ではなくて,ログインしてみる.
#br
** Devel
*** PodmanSpawner
- https://github.com/gatoniel/podmanspawner
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
*** コマンド例
podman run -d --net host -v /home/teacher/iseki:/home/is...
--env JUPYTERHUB_API_TOKEN=cf30aa5ab007444ca6462ff8c4dec...
--env JPY_API_TOKEN=cf30aa5ab007444ca6462ff8c4decfec
--env JUPYTERHUB_CLIENT_ID=jupyterhub-user-iseki
--env JUPYTERHUB_HOST=
--env JUPYTERHUB_OAUTH_CALLBACK_URL=/user/iseki/oauth_ca...
--env JUPYTERHUB_USER=iseki
--env JUPYTERHUB_SERVER_NAME=
--env JUPYTERHUB_API_URL=http://202.26.150.118:8081/hub/...
--env JUPYTERHUB_ACTIVITY_URL=http://202.26.150.118:8081...
--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=7807b43805c442f4b38b1a89855df...
--env JPY_API_TOKEN=7807b43805c442f4b38b1a89855df831
--env JUPYTERHUB_CLIENT_ID=jupyterhub-user-bob
--env JUPYTERHUB_HOST=
--env JUPYTERHUB_OAUTH_CALLBACK_URL=/user/bob/oauth_call...
--env JUPYTERHUB_USER=bob
--env JUPYTERHUB_SERVER_NAME=
--env JUPYTERHUB_API_URL=http://202.26.150.118:8081/hub/...
--env JUPYTERHUB_ACTIVITY_URL=http://202.26.150.118:8081...
--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
終了行:
** Podman
- RedHat社が開発したコンテナ管理ツール
- No Daemon, Root less
-- UNIXソケットを使って通信する場合は,デーモンがいる?
- [[Docker]] 互換らしい
-- しかし Compose は無い.
--- Compose, Network の代わりに [[Kubernetes]] を使うらし...
--- 3rdパーティ製の podman-compose があるらしい
- 関連システム: [[skopeo>./Skopeo]], [[buildah>./Buildah]]
- see also [[PodmanSpawner]], [[LTIPodmanSpawner>/Jupyter...
#br
*** Install
# 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 : 20...
- CentOS7 は鬼門.バージョンが古すぎ.
- /etc/yum.repo.d/podman.repo
--https://download.opensuse.org/repositories/devel:/kubic...
[devel_kubic_libcontainers_stable]
name=Stable Releases of Upstream github.com/containers p...
type=rpm-md
baseurl=https://download.opensuse.org/repositories/devel...
gpgcheck=1
gpgkey=https://download.opensuse.org/repositories/devel:...
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用設定
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]]
#br
*** [[Buildah>./Buildah]]
#br
** Docker 互換
- コマンド,Images は Docker 互換
- でも色々とかなり違う!
#br
*** podman-compose
- 3rdパーティ製の podman-compose
- https://github.com/containers/podman-compose
#br
**** INSTALL
(base) # pip --no-cache install podman-compose
- [[JupyterHub]] の sawrmspawner はやっぱり動かんのう.
- Network周りが違うよう.
#br
** API
- v2.0 から RESTful API をサポート,varlink は廃止へ.
systemctl daemon-reload
systemctl enable podman.socket
systemctl start podman.socket
#br
** 共有
*** ファイル(Volume)共有
- volume : /var/lib/containers/storage/volumes
-- Docker : /var/lib/docker/volumes
- 特殊ファイル: /var/lib/containers/storage/volumes/back...
-- Docker: /var/lib/docker/volumes/metadata.db (PC毎に...
#br
** Tips
*** 知らない所で蠢くヤツら
- 以下にファイルが作られる
-- ~/.local/share/containers/
-- ~/.config/containers/
- /run/user/{uid}/ を使用する
-- /run/user/{uid}/ ログインすると作られるが,su - では作...
-- /run/user/{uid}/ はリーブートすると消える,
#br
*** Local Registory
**** 作成
mkdir -p /var/lib/registry
podman run --privileged -d --name registry -p 5000:5000 ...
vi /etc/containers/registries.conf regis...
**** Push
podman tag localhost/jupyterhub/singleuser-ltids localho...
podman push localhost:5000/jupyterhub/singleuser-ltids -...
**** Pull
podman pull localhost:5000/jupyterhub/singleuser-ltids -...
#br
** Trouble Shooting
**** あるユーザの環境で動かない
- ~/.config, ~/.local を消す.
#br
**** error adding seccomp filter rule for syscall bdflush...
- 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/ma...
- sysctl user.max_user_namespaces=15000
-- cat /proc/sys/user/max_user_namespaces
-- これって一時的?
- (?) usermod --add-subuids 200000-201000 --add-subgids 2...
-- grep iseki /etc/subuid /etc/subgid
#br
**** Error: Could not get runtime: kernel does not suppor...
- /etc/modules-load.d/overlay.conf
-- overlay と一行記述
- reboot
- lsmod |grep overlay
- 何か色々と駄目だったけど,container パッケージを入れ直...
#br
**** the backing xfs filesystem is formatted without d_ty...
- CentOS の場合,ファイルシステムを -n ftype=1 オプション...
#br
**** Failed to allocate manager object: Permission denied
- see [[SELinux]]
# getsebool -a | grep container
# setsebool -P container_manage_cgroup on
#br
**** Docker を入れてから削除し,再び Podman を入れようと...
- yum で poman のパッケージが見つからないとのエラー
-- /etc/dnf/dnf.conf で exclude=podman* runc* containerne...
- それでもダメ
-- /etc/dnf/modules.d/container-tools.module を削除.なぜ...
#br
**** Error: could not get runtime: error creating tmpdir ...
- \rm -r ~/.conifg/containers/ ~/.local/share/containers/
- JupyterHub ではこれでも解決しない?
- su - ではなくて,ログインしてみる.
#br
** Devel
*** PodmanSpawner
- https://github.com/gatoniel/podmanspawner
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
*** コマンド例
podman run -d --net host -v /home/teacher/iseki:/home/is...
--env JUPYTERHUB_API_TOKEN=cf30aa5ab007444ca6462ff8c4dec...
--env JPY_API_TOKEN=cf30aa5ab007444ca6462ff8c4decfec
--env JUPYTERHUB_CLIENT_ID=jupyterhub-user-iseki
--env JUPYTERHUB_HOST=
--env JUPYTERHUB_OAUTH_CALLBACK_URL=/user/iseki/oauth_ca...
--env JUPYTERHUB_USER=iseki
--env JUPYTERHUB_SERVER_NAME=
--env JUPYTERHUB_API_URL=http://202.26.150.118:8081/hub/...
--env JUPYTERHUB_ACTIVITY_URL=http://202.26.150.118:8081...
--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=7807b43805c442f4b38b1a89855df...
--env JPY_API_TOKEN=7807b43805c442f4b38b1a89855df831
--env JUPYTERHUB_CLIENT_ID=jupyterhub-user-bob
--env JUPYTERHUB_HOST=
--env JUPYTERHUB_OAUTH_CALLBACK_URL=/user/bob/oauth_call...
--env JUPYTERHUB_USER=bob
--env JUPYTERHUB_SERVER_NAME=
--env JUPYTERHUB_API_URL=http://202.26.150.118:8081/hub/...
--env JUPYTERHUB_ACTIVITY_URL=http://202.26.150.118:8081...
--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
ページ名:
サイト内 検索
高度な検索
ログイン
ユーザー名:
パスワード:
パスワード紛失
新規登録
サブ メニュー
新着情報
Books
リンク
サイトマップ
e-Learning
TUIS 認証局証明書
ミニカレンダー
2025年 5月
日
月
火
水
木
金
土
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
<今日>
オンライン状況
98 人のユーザが現在オンラインです。 (5 人のユーザが xpwiki を参照しています。)
登録ユーザ: 0
ゲスト: 98
もっと...
アクセスカウンタ
今日 :
昨日 :
総計 :
Powered by XOOPS Cube 2.1© 2001-2006
XOOPS Cube Project
Design by
XoopsDesign.com