WSL+Ubuntu+Docker環境でのインデックス作成
WSL Docker上に構築したFessからWSLホストのWindows上に配置したドキュメントファイルのインデックスを作成したい。
なぜかいつも苦労する。
smb://・・で指定してもうまく行かないケースが多く、よくわからず色々やっていたらうまくいく。(で、結局何が原因かわからない)
Windows上のドライブはWSL側に自動的にマウントされ Ubuntuからは /mnt/x/・・でアクセス可能である。
なので、このパスをDockerから参照する方向とする。
環境
ホスト:Windows 11 Pro 25H2 (26200.8037)
WSL+Ubuntu+Docker
Fess
このWindows上にD:¥documentsフォルダを作成、ここにインデックス化したいドキュメント一式を配置する。
WSL上にUbuntuをインストールし、Ubuntu上にDocker Engine環境を作成。
UbuntuからWindows上のインデックスフォルダは /mnt/d/documents/ で参照可能である。
Docker上にFess環境を構築。
手順
1. composer.yaml修正
Ubuntuの/mnt/d/documentsをコンテナから/var/fess/documents/ でアクセスできるよう、composeer.yamlに以下volumnes:記述を追加。
:
services:
fess:
image: codelibs/fess:latest
ports:
- "8080:8080"
volumes:
- /mnt/d/documents:/var/fess/documents
services:
fess:
image: codelibs/fess:latest
ports:
- "8080:8080"
volumes:
- /mnt/d/documents:/var/fess/documents
2. コンテナ再作成
すでにFessコンテナ作成済みであれば再作成が必要なので "docker compose down"したのちに "docker compose up"で作成する。
docke compose -f composer -f compose.yaml -f composer-opensarch3.yaml down
docke compose -f composer -f compose.yaml -f composer-opensarch3.yaml up -d
docke compose -f composer -f compose.yaml -f composer-opensarch3.yaml up -d
実行結果:
root@xxx:~/fess-docker# docker compose -f compose.yaml -f compose-opensearch3.yaml down
[+] down 3/3
✔ Container fess01 Removed 10.5s
✔ Container search01 Removed 0.6s
✔ Network fess-docker_search_net Removed 0.6s
root@xxx:~/fess-docker# docker compose -f compose.yaml -f compose-opensearch3.yaml up -d
[+] up 3/3
✔ Network fess-docker_search_net Created 0.0s
✔ Container search01 Healthy 15.7s
✔ Container fess01 Started 15.8s
3. アクセス確認
コンテナからWindows上のファイルが参照できるか確認する。
docker exec -it fess01 /bin/bash
ls /var/fess/documents
ls /var/fess/documents
実行結果:
root@xxx:~/fess-docker# docker exec -it fess01 /bin/bash
26423820c2de:/usr/share/fess# ls /var/fess/documents
TEST.txt
アクセスできることが確認できた。4. クローラー設定
[設定] - [クローラー] - [ファイルシステム] より、パス欄に「file:/var/fess/documents/」と入力すればOK
Fess
0 件のコメント:
コメントを投稿