PodmanでFileServer(Samba)の起動

ルートフォルダだったので、パスを /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!

コメント

タイトルとURLをコピーしました