DockerでSambaサーバーを立てる


DockerでSambaサーバーを立ててみます。

環境

構築

dperson/samba が有名らしいので、これを使います。

dockerを入れていない場合は、好きな方法でインストールしてください。

sudo snap install docker

コンテナを作ります。

sudo docker create -it -p 139:139 -p 445:445 --name smbsrv -v 共有したいパス:/path1 dperson/samba \
            -p -r\
            -u "ユーザー名;パスワード" \
            -s "share;/path1;yes;no;no;ユーザー名" 

コンテナを起動させます。

sudo docker start smbsrv

うまくいけば、以下のようなログが表示されます。

# docker logs smbsrv
Added user ユーザー名.
smbd version 4.12.2 started.
Copyright Andrew Tridgell and the Samba Team 1992-2020
daemon_ready: daemon 'smbd' finished starting up and ready to serve connections

以下のメッセージは、オプションがおかしかったときに表示されます。
適切に書き直して、作り直してください。

The 'command' (if provided and valid) will be run instead of samba

docker createの部分について簡単な説明

  • Docker自体のオプションはイメージ名「dperson/samba」より前に、dperson/sambaのオプションはイメージ名より後ろに書きます。
  • -sオプションは、 「共有フォルダ名;Docker内のSambaのアクセス場所;browseableか(ネットワークコンピューターで表示をするか);readonlyか(読み取り専用か);guestか(ゲストユーザーを認めるか);アクセス可能なユーザーリスト(,区切り)」という意味です。
  • Windowsでは、「\サーバーのIPアドレス\share」でアクセスできます。
  • -r オプションはゴミ箱の無効化です

Windowsからのアクセス

ネットワークの場所の追加をして、ユーザー名とパスワードを入力するだけです。

その他

CrystalDiskMarkをやってみました。1ギガビットイーサネットです。

HDD

ext4でフォーマット済み。

SSD

ext4でフォーマット済み。

参考


  1. SATA電源が必要です。USB給電のケーブルを使いました。