Dockerでファイルサーバ(Samba)を構築しました。Windows10でも動作確認ができており、Dockerをインストール済みであれば1分もしないうちにファイルサーバを立てることができます。
Dockerのインストール手順はこちらのページを参照
Dockerコンテナでファイルサーバ(Samba)を簡単に構築する手順(dperson/samba)
ファイルサーバ(Samba)のコンテナは以下のイメージから作成します。
【Docker】dperson/samba
また、Dockerコンテナの構築は公式サイトの設定を元に構築します。
Dockerイメージダウンロード
以下コマンドでDockerイメージをダウンロードします。
# docker pull dperson/samba
イメージがダウンロードされていることを確認します。
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE dperson/samba latest aac8a52c5b16 8 months ago 52.1MB
Dockerコンテナ起動(ファイルサーバ(Samba))
イメージを正常にダウンロードしたら以下コマンドでDockerコンテナを起動します。
※コピペでいけます。
このコマンドですぐにファイルサーバへアクセスすることできます。
# docker run -it --name samba_docker -p 139:139 -p 445:445 -v /home/shares/samba:/home/shares/samba -d dperson/samba -w "WORKGROUP" -u "samba;pass" -s "samba;/home/shares/samba;yes;no;yes;"
ファイル共有フォルダの権限を付与
上記でファイルサーバは完成しますが、書き込み権限などがないため以下コマンドで対象のフォルダに権限を与えます。
sambaコンテナへアクセス
# docker exec -it samba_docker /bin/bash
以下フォルダへのアクセス権を許可
# chmod 777 /home/shares/samba/
ファイアウォールにてSambaで使用するポートを開放
今回構築したSambaコンテナでは以下のポートの開放をしておきます。
# firewall-cmd --add-port=445/tcp --zone=public --permanent # firewall-cmd --add-port=139/tcp --zone=public --permanent # firewall-cmd --add-port=137/udp --zone=public --permanent # firewall-cmd --add-port=138/udp --zone=public --permanent # firewall-cmd --reload
ポート解放後以下のコマンドで対象のポートが許可されていることを確認します。
# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens192 sources: services: cockpit dhcpv6-client ssh ports: 445/tcp 139/tcp 137/udp 138/udp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Windowsでファイルサーバへアクセスします。
\\<IPアドレス>
Windowsからファイルサーバ(Samba)へアクセスできないときの対処法
Sambaでファイルサーバを構築してもWindowsからアクセスできないことがあります。
特にWindows10では最近のアップデートでSambaのバージョンによってはアクセスができないようになっているようです。
「net use」コマンドでアクセス
一番簡単な方法は「net use」コマンドを使用することです。
この方法がおすすめです。
コマンドの書式は以下の通り。
PS C:\> net use \\<IPアドレス> /user:<userID> <Password> コマンドは正常に終了しました。
詳細は以下を差難航にしてください。
SMBバージョン1.0を許可
一つ目の対応方法はWindows10で「SMB1.0クライアント」を許可します。
手順は以下となります。
- Windowsメニューから右クリック>「アプリと機能」 を選択
- 「アプリと機能」>「関連設定」>「プログラムと機能」 を選択
- 「プログラムと機能」>左メニュー「Windowsの機能の有効化または無効化」を選択
- 「Windowsの機能の有効化または無効化」>「SMB 1.0/CIFS ファイル共有のサポート」>「SMB 1.0/CIFS クライアント」にチェックを入れて「OK」を押す
- 設定後Windowsを再起動
レジストリ変更
2つ目は以下レジストリを変更します。
- Windowsタスクバーの検索ボックスより「regedit」と入力し、「レジストリ エディター」が表示されるのでクリック
- レジストリから以下階層へアクセス
キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters - 「AllowInsecureGuestAuth」をダブルクリックし、「値のデータ(V)」を「0」から「1」へ変更
- 再起動
参考URL
https://www.nedia.ne.jp/blog/2019/04/02/13919
すぐにファイルサーバを構築したい方はぜひ参考にしてください。
Dockerを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す