ルートフォルダだったので、パスを /srv から /home に変更(2024/09/29)
共有フォルダの作成
mkdir -p /home/podman/filesv/shares
chmod -R 0777 /home/podman/filesv/shares
chown -R nobody:nobody /home/podman/filesv/shares
ポッドの作成
podman pod create --name filesv-pod -p 139:139 -p 445:445
podman create --pod filesv-pod --name filesv-samba \
-v /home/podman/filesv/shares:/home/shares/samba \
-e USERID=65534 -e GROUPID=65534 \
docker.io/dperson/samba:latest \
-p -r \
-s "pub;/home/shares/samba;yes;no;yes"
podman pod start filesv-pod
-v /home/podman/filesv-pod/shares:/home/shares/samba | 共有フォルダのマウント |
-e USERID=65534 -e GROUPID=65534 | デフォルトユーザの指定(nobody:nobody) |
docker.io/dperson/samba:latest | コンテナ作成に使うイメージ |
-p | 親ディレクトリのグループ所有者を継承 |
-r | ゴミ箱を無効 |
-s “pub;/home/shares/samba;yes;no;yes” | 共有フォルダ名 共有フォルダ マイネットワークに表示させるか(browsable) 読み込み専用か(read only) ゲストユーザを許可するか(guest ok) |
その他のオプションは https://github.com/dperson/samba
自動起動設定
自動起動用にユニットファイル作成
# cd /usr/lib/systemd/system
# podman generate systemd --name filesv-pod --files --restart-policy=always
/usr/lib/systemd/system/pod-filesv-pod.service
/usr/lib/systemd/system/container-filesv-samba.service
自動起動設定
systemctl daemon-reload
systemctl enable pod-filesv-pod.service
systemctl enable container-filesv-samba.service
コンテナ作成用スクリプト
#! /bin/bash
PodName='filesv'
# 共有フォルダの作成
mkdir -p /home/podman/${PodName}-pod/shares
chmod -R 0777 /home/podman/${PodName}-pod/shares
chown -R nobody:nobody /home/podman/${PodName}-pod/shares
# 起動済みのポッド削除
echo ポッド削除
podman pod stop ${PodName}-pod
podman pod rm ${PodName}-pod
# ポッド作成
echo ポッド作成
podman pod create --name ${PodName}-pod -p 139:139 -p 445:445
podman create --pod ${PodName}-pod --name ${PodName}-samba \
-v /home/podman/${PodName}-pod/shares:/home/shares/samba \
-e USERID=65534 -e GROUPID=65534 \
docker.io/dperson/samba:latest \
-p \
-s "pub;/home/shares/samba;yes;no;yes"
# ポッド起動
echo ポッド起動
podman pod start ${PodName}-pod
echo Finish!
コメント