とりあえず本番環境でのDockerのパフォーマンスは言うまでもなく、新しいテクノロジーを習得する過程で環境を迅速に構築できるという点だけで、試すことをお勧めします。この記事では、DockerベースのFastDFSサービスをインストールします。
FastDFSのインストールに興味がない場合でも、Dockerのインストールプロセス(基本的に一般)について学ぶことができます。これは、学習効率を向上させるための魔法の武器の1つです。
FastDFSの原理について学習したい場合は、「ファイル管理システムFastDFSの原理の詳細な説明」を参照してください。これは、以下の内容を理解および学習するのに役立ちます。
DockerはFastDFSをインストールします
Dockerのインストールについては、オペレーティングシステムによってインストール方法が異なるため、ここでは繰り返しませんが、デフォルトでは、Dockerはコンピューターまたはサーバーにインストールされ、起動されています。
Dockerライブラリーですでに使用可能なイメージを見てみましょう。次のコマンドを実行します(管理者でない場合は、sudoが必要になる場合があります)。
bogon:~ zzs$ docker search fastdfs
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
season/fastdfs FastDFS 66
luhuiguo/fastdfs FastDFS is an open source high performance d… 25 [OK]
ygqygq2/fastdfs-nginx 整合了nginx的fastdfs 20 [OK]
morunchang/fastdfs A FastDFS image 19
delron/fastdfs 12
moocu/fastdfs fastdfs5.11 9
qbanxiaoli/fastdfs FastDFS+FastDHT单机版 8 [OK]
……
他のソフトウェアをインストールしている場合は、docker searchコマンドを使用して検索することもできます。
ここでは、delron / fastdfsという名前のミラーが使用されています。もちろん、他のミラーを選択することもできます。構成は異なります。一部のミラーには、Nginx関連の構成がありません。
引き下げましょう。
docker pull delron/fastdfs
トラッカーコンテナーの作成
Dockerイメージを使用してトラッカーコンテナーを構築します。トラッカーコンテナーは、トラッキングサーバーを起動し、スケジューリングで役割を果たすために使用されます。
docker run -d --network=host --name tracker -v /Users/zzs/develop/temp/tracker:/var/fdfs delron/fastdfs tracker
上記の起動コマンドはLinuxで実行されます。MacまたはWindowsオペレーティングシステムnetwork = host(コンテナとホストが同じネットワーク名前空間を利用する)の場合、失敗します。このとき、対応するポートマッピングを指定する必要があります。このチュートリアルのDockerホストはMacです。
docker run -d --name tracker -p 22122:22122 -v /Users/zzs/develop/temp/tracker:/var/fdfs delron/fastdfs tracker
デフォルトのトラッカーはポート22122でリッスンしています。
-vパラメーターは、コンテナー内のローカル・ディレクトリーと/ var / fdfsディレクトリーをマウントします。
ここで、トラッカーサービスが開始されていることがわかります。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
15bfca8b94eb delron/fastdfs "/usr/bin/start1.sh …" 4 seconds ago Up 3 seconds 8080/tcp, 8888/tcp, 23000/tcp, 0.0.0.0:22122->22122/tcp tracker
ストレージコンテナーを構築する
Dockerイメージを使用してストレージコンテナーを構築し、ストレージサーバーの起動、容量およびバックアップサービスの提供に使用します。
次のコマンドを実行するときに注意が必要な場合は、対応するIPアドレスをトラッカーサービスのIPアドレスに変更する必要があります。操作は同じコンピューター上で行われるため、ここではマシンの内部ネットワークアドレスを使用できます。22122はトラッカーに対応しています港。
たとえば、次のコマンドはIPアドレスを置き換える必要があります。
docker run -d --network=host --name storage -e TRACKER_SERVER=ip:22122 -v /Users/zzs/develop/temp/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
IPアドレスを置き換えた後、対応するMacでの特定の実行操作:
docker run -d --name storage -p 8888:8888 -p 23000:23000 -e TRACKER_SERVER=192.168.43.143:22122 -v /Users/zzs/develop/temp/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
その中で、8888はNginxに対応するアクセスポートであり、23000はストレージサービスポートです。
現時点では、Dockerのサービスステータスを表示できます。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2bc9f8268eda delron/fastdfs "/usr/bin/start1.sh …" 5 seconds ago Up 4 seconds 8080/tcp, 0.0.0.0:8888->8888/tcp, 22122/tcp, 0.0.0.0:23000->23000/tcp storage
15bfca8b94eb delron/fastdfs "/usr/bin/start1.sh …" 2 minutes ago Up 2 minutes 8080/tcp, 8888/tcp, 23000/tcp, 0.0.0.0:22122->22122/tcp tracker
設定を変更
上記の手順の後、トラッカーとストレージの両方が開始および完了します。対応するDockerコンテナーを入力して、デフォルトの構成を確認できます。
dockerに入るコマンドは:
docker exec -it 2bc9f8268eda bash
パラメータ値「2bc9f8268eda」は、上記で入力したコンテナのCONTAINER IDです。
最初にstorageと入力し、対応する構成ファイルでhttpアクセス構成を確認します。構成ファイルは/ etc / fdfsディレクトリのstorage.confです。最後の行で次の構成を確認できます。
# the port of the web server on this storage server
http.server_port=8888
つまり、このDockerイメージのデフォルトのモニタリングポートはポート8888です。もちろん、この構成を変更する必要があります。別のポートに変更する場合は、対応するNginx構成も変更する必要があります。
では、Nginxはどこに設定されていますか?現在のコンテナにもあります。Nginx構成ファイルのルートディレクトリは次のとおりです。
/usr/local/nginx/conf/
その下のnginx.confを表示および変更できます。最初にデフォルトの設定を見てください:
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
上記はサーバー構成に関するもので、ポートはストレージポートと1対1で対応しています。2つの同期変更を変更する必要がある場合。
上記の操作により、デフォルトでFastDFSはポート8888、23000、および22122を開く必要があることがわかります。Linuxオペレーティングシステムを使用している場合は、ファイアウォールによって対応するポートを開くことに注意してください。
テストを受ける
上記の手順でFastDFSのインストールと構成が完了したら、確認のために写真を入れましょう。
まず、ローカルマウントディレクトリ/ Users / zzs / develop / temp / storage(上記のコマンドで使用されるディレクトリ)に画像を配置します。
次に、ストレージコンテナーを入力し、/ var / fdfsディレクトリを入力して、次のコマンドを実行します。
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf weixin.jpg
このうち、wenxin.jpgは、以前にマシンのストレージディレクトリに保存された画像の名前です。
関連する実行コマンドとディレクトリ:
[root@2bc9f8268eda fdfs]# pwd
/var/fdfs
[root@2bc9f8268eda fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf weixin.jpg
group1/M00/00/00/rBEAA18X7ZWAfAPiAABrsFVlX6U142.jpg
この時点でファイルは正常にアップロードされており、ストレージに保存されているファイルのパス情報が返されます。
画像を表示するには、URLからhttp:// ip:8888 / group1 / M00 / 00/00 / rBEAA18X7ZWAfAPiAABrsFVlX6U142.jpgにアクセスしてください。ここで、ipはlocalhostまたは127.0.0.1インターフェイスに置き換えられます。
表示効果は次のとおりです。
次のステップでは、写真をスキャンして、私の公式アカウント[Program New Vision]に注意を払い、ドライグッズのコンテンツを更新し続けることができます。
次回の記事では、Spring Bootを介してFastDFSを統合する方法を紹介します。FastDFSに関する最後の記事でもあります。
元のリンク:「Dockerインストールに基づくFastDFS」