概要
Raspberry Pi上にSambaのDockerイメージを使用してファイルサーバーを構築した際のメモです。
環境
- 本体:Raspberry Pi 4 Model B
- OS:Debian 11.11
構築
ドライブのマウント設定
今回は外付けHDDをしようしたので、以下を参考に自動マウント設定を行いました。
Dockerコンテナの作成
docker-compose.ymlを作成します。Dockerイメージにはdperson/sambaを使用しました。
version: '3.4'
services:
samba:
image: dperson/samba
container_name: samba
environment:
- TZ=Asia/Tokyo
- USERID=1000
- GROUPID=1000
networks:
- default
ports:
- "139:139/tcp"
- "445:445/tcp"
read_only: true
tmpfs:
- /tmp
restart: always
stdin_open: true
tty: true
volumes:
- /mnt/nas:/nas:z
command: '-s "nas;/nas;yes;no;no;USERNAME" -u "USERNAME;PASSWORD" -p'
networks:
default:
主な設定項目の解説
volumes
にてホスト側のドライブ(/mnt/nas
)をコンテナ内にマウントします。
volumes:
- /mnt/nas:/nas:z
command
にてユーザや権限の設定を行います。
下記の場合、-s
オプションではセミコロン区切りで左から順にサーバ名(任意)、ストレージとして使用する領域のファイルパス、読み書きの可否、読み取り専用、ゲストアクセスの可否、アクセスを許可するユーザ名を設定しています。その他の設定はGitHubのREADMEに記載があります。
-u
オプションで使用するユーザ名とパスワードを設定します。
-p
オプションは権限の設定上必要になるようです。
command: '-s "nas;/nas;yes;no;no;USERNAME" -u "USERNAME;PASSWORD" -p'
起動と接続
docker compose up
で起動後、以下の手順で接続を行います。
Windows11の場合
-
エクスプローラーの「ネットワークドライブの割り当て」を選択
-
ドライブ文字と
\\Raspberry PiのIPアドレス\サーバ名
の形式でサーバを指定し「完了」を押す -
うまく行けばファイルサーバ上のデータが閲覧できる
課題
今回使用したDockerイメージは更新が止まっているようなので、servercontainers/sambaのような別のイメージに移行するか、自作のイメージを用いるのが良さそうです。