Docker で FastDFS をデプロイする方法

Docker で FastDFS をデプロイする方法

Dockerにfastdfsをインストールする

ディレクトリをマウント

-v /e/fdfs/トラッカー:/var/fdfs

/e/fdfs/tracker windowsのフォルダパスはE:\fdfs\trackerです

/var/fdfsはコンテナ内のファイルの絶対パスです

ネットワークを表示

docker network ls # ネットワークリスト docker network create --driver bridge --subnet=192.168.127.0/24 fastdfs_fastdfs_net # まだ使用されていないカスタムネットワークセグメントを作成する

画像をダウンロード

docker プルシーズン/fastdfs

トラッカー コンテナを作成します。トラッカー サーバーのデフォルト ポートは 22122 です。

## デプロイメントプロセスではブリッジネットワークを使用します docker run -ti -d --name trakcer -v /f/fastdfs/tracker_data:/fastdfs/tracker/data -p 22122:22122 season/fastdfs tracker

Docker イメージを使用してストレージ コンテナ (容量とバックアップ サービスを提供するストレージ サーバー) を構築する

## 172.17.0.2 はコンテナの IP アドレスですdocker run -tid --name storage -v /f/fastdfs/storage_data:/fastdfs/storage/data -v /f/fastdfs/store_path:/fastdfs/store_path -p 8080:8080 -p 23000:23000 -p 80:80 -e TRACKER_SERVER:172.17.0.2:22122 -e GROUP_NAME=group1 season/fastdfs storage

この時点で両方のサービスが開始されます

### サービスを設定し、ストレージ コンテナーに入り、ストレージ設定ファイルで http アクセス用のポートを設定します。設定ファイルは、fdfs_conf ディレクトリの storage.conf にあります。
docker exec -it ストレージ bash
fdfs_confをコピーする
ストレージ.confの詳細

次に、ストレージ コンテナーを終了し、構成ファイルをコピーします。

docker cp ストレージ:/fdfs_conf/storage.conf ./

変更した構成ファイルをストレージ構成ディレクトリにコピーします。

docker cp ./storage.conf ストレージ:/fdfs_conf/

ストレージコンテナを再起動する

docker ストレージを停止する
docker ストレージを起動する

トラッカーコンテナとストレージコンテナの関連性を確認する

docker exec -it ストレージ bash
fdfs_confをコピーする
fdfs_monitor ストレージ.conf 

docker シミュレートクライアントのストレージコンテナにファイルをアップロードする

## クライアントを開く docker cp ./storage.conf fdfs_sh:/fdfs_conf/

設定ファイルを変更します。以前一度変更されているので、今はそれをコピーするだけです。

docker exec -it fdfs_sh bash

txtファイルを作成する

docker exec -it fdfs_sh bash
エコーhello>a.txt

fdfs_confディレクトリに入り、ファイルをストレージコンテナにアップロードします。

fdfs_confをコピーする

fdfs_upload_file ストレージ.conf /a.txt

Windows コマンド

netstat -aon|findstr "22122" # ポートが無効になっているかどうかを確認します netsh firewall set opmode mode=disable # ファイアウォールを無効にします netsh firewall reset

https://hub.docker.com/r/qbanxiaoli/fastdfs)

Windows Server 2012 R2 環境で docker-toolbox を使用してイメージ アクセラレーションをインストールおよび構成する

docker-machine ssh デフォルト
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=http://hub-mirror.c.163.com |g" /var/lib/boot2docker/profile
出口
ドックマシンの再起動デフォルト

Docker インストール プロンプト: デーモンからのエラー応答: クライアントがサーバーより新しい

解決策: docker versionコマンドを使用してクライアントのバージョンを確認し、クライアントのバージョンをサーバーのバージョンと一致するように変更します (export DOCKER_API_VERSION=1.22) コードをコピー

DockerToolbox のプロンプト: デフォルトの Boot2Docker ISO は古くなっています

解決策: この問題は、最新バージョンのboot2docker.isoファイルをダウンロードしてコピーし、インストール ディレクトリとキャッシュ ディレクトリに配置することで解決できます。

最新バージョンのboot2docker.isoイメージをダウンロードします。公式ダウンロード アドレス: https://github.com/boot2docker/boot2docker/releases それをローカル キャッシュ ディレクトリ ( C:\Users\admin.docker\machine\cache\ ) にコピーし、ローカル インストール ディレクトリ ( C:\Program Files\Docker Toolbox ) にコピーして、 -Docker再度実行します。 -Docker Quickstart Termina l ターミナル コンソールを再度実行すると、```default`` 仮想マシンを正常に作成できます。

上記のエラーメッセージが引き続き表示される場合は、 boot2docker.isoのバージョンが最新ではないためです。起動時に、システムはインターネットに接続して最新のboot2docker.isoをチェックしてダウンロードします。ただし、 githubアクセス速度は非常に遅いため、システムが停止します。そのため、ネットワークが切断され、チェック手順がスキップされます。 boot2docker.isoをロードした後は、後でdockerを開いても問題はありません。

フォルダのマウント

https://www.jb51.net/article/176813.htm

Fastdfs 統合 SpringBoot 構成

#高速DFS
fdfs:
  タイムアウト: 1501
  接続タイムアウト: 601
  サムネイル画像: #サムネイル生成パラメータ 幅: 200
    高さ: 200
  トラッカーリスト:
    - 192.168.118.162:22122

独立した IP を介して Windows コンテナ イントラネットの Docker に直接アクセスする方法

ルーティングテーブルの設定によるIP相互通信の実装

route print

## ルートを追加 route -p add 172.17.0.0 MASK 255.255.255.0 10.0.75.2

独立した IP を介して Windows コンテナ イントラネットの Docker に直接アクセスする方法

Docker デプロイメント FastDfs - 方法 2

-v /e/fdfs/トラッカー:/var/fdfs

/e/fdfs/tracker windowsのフォルダパスはE:\fdfs\trackerです

/var/fdfsはコンテナ内のファイルの絶対パスです

クローンプロジェクト

## このイメージは Nginx が統合されたイメージです。git clone https://[email protected]/qbanxiaoli/fastdfs.git 

fastdfsディレクトリに入る

cd fastdfs

docker-compose.ymlを修正してIPを変更する

シェルバージョン: '3.0'
サービス:
 ファストDFS:
  建てる: 。
  画像: qbanxiaoli/fastdfs
  # コンテナを起動して自動的に再起動する必要があるかどうか。必要に応じてコメントを解除します。
  再起動: 常に
  コンテナ名: fastdfs
  ポート:
   - 8080:8080
   - 22122:22122
   - 23000:23000
  環境:
   # TZ を使用: Asia/Shanghai
   # nginx サービス ポート、デフォルト ポート 8080、変更可能 WEB_PORT: 8080
   # tracker_server サービス ポート、デフォルト ポート 22122、変更可能 FDFS_PORT: 22122
   # Fastdht サービス ポート、デフォルト ポート 11411、変更可能 FDHT_PORT: 11411
   # Docker が配置されているホスト マシンの IP イントラネット アドレス。デフォルトでは、eth0 ネットワーク カードの IP アドレスが使用されます: 192.168.118.93
  ボリューム:
   # ローカル ディレクトリを Docker コンテナ内の fastdfs データ ストレージ ディレクトリにマップし、fastdfs ファイルをホストに保存して、Docker コンテナが再構築されるたびに以前に保存されたファイルが失われないようにします。
   - /e/fastdfs/fastdfs:/var/local
  # Windows と Unix はホスト ネットワークを認識できないため、コンテナー IP をホスト IP ネットワークと一致させるために新しいネットワーク セグメントを作成する必要があります。
   ファストdfs_net:
    ipv4_アドレス: 192.168.118.93

ネットワーク:
 ファストdfs_net:
  ドライバー: ブリッジ
  ドライバーオプション:
   親: eth0
  ipam:
   設定:
    - サブネット: 192.168.118.0/24

docker-composeコマンドを実行する

シェルdocker-composeアップ-d

fastdfsが正常に構築されているかどうかをテストする

# コンテナに入る docker exec -it fastdfs /bin/bash

tracker_serverを再起動する

shell/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf を再起動

storage_serverを再起動します

shell/usr/bin/fdfs_storaged /etc/fdfs/storage.confを再起動

ストレージステータスの表示

shellfdfs_monitor /etc/fdfs/client.conf

localhost:8080 nginxにアクセス

デプロイメントが成功したことを示します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • docker compose を使用して FastDfs ファイル サーバーをインストールする詳細な例
  • Docker に fastdfs イメージをインストールする際の注意事項
  • Docker で FastDFS ファイル システムを構築する (マルチイメージ チュートリアル)
  • DockerにFastDFSをインストールする方法
  • docker compose を使用して fastDFS ファイル サーバーを構築する方法

<<:  Navicat For MySQL の使い方に関する簡単なチュートリアル

>>:  Vueルーティングはページステータスを復元する操作メソッドを返します

推薦する

HTML_PowerNode 入門 Java アカデミー

HTMLとは何ですか? HTML は Web ページを記述するために使用される言語です。 HTML ...

IE8 と Chrome でテーブルの幅を修正する方法

IE8 や Chrome で上記の設定を使用すると、画面の最大幅に合わせて表示が統一され、各列の幅は...

CSS テキスト装飾 text-decoration と text-emphasis の詳細な説明

CSS では、テキストは私たちが毎日扱う最も一般的なものの 1 つです。テキストの場合、テキストの装...

Nodejs での WeChat アプレット メッセージ プッシュの実装

サブスクリプションメッセージテンプレートを選択または作成するWeChat アプレットにログインし、「...

CSS での配置の使用方法の詳細な研究 (要約)

CSS における位置指定の概要position属性は英語で位置を意味し、 CSSでの主な機能は要素...

Jenkinsを使用してプロジェクトを別のホストにデプロイするプロセス

環境ホスト名IPアドレス仕えるジェンキンス192.168.216.200トムキャット、ジェンキンスサ...

WeChat アプレット uniapp は左スワイプによる削除効果を実現します (完全なコード)

WeChatアプレットuniappは左スワイプで削除効果を実現成果を達成する1. スワイプしてリス...

IE6 および IE7 で DIV コンテナの固定高さを使用するためのヒント

IE6 と IE7 では CSS の解釈に多くの違いがあります。今日はそのうちの 1 つである高さに...

ミニプログラム開発ツールのソースコードからの基本実装の分析

目次ミニプログラム開発者ツールのソースコードを表示する方法ミニプログラムアーキテクチャ設計1. ミニ...

Linux での中国語入力方法の問題を素早く解決する

背景: 最近、資産報告関連の機能に取り組んでおり、中国語入力をサポートする必要があります。通常のショ...

JavaScript における call、apply、bind の実装原則の詳細な説明

目次序文電話使用法成し遂げるシンプルな実装バージョン:アップグレード版:適用する使用法成し遂げるバイ...

Javascript デザインパターン プロトタイプ モードの詳細

目次1. プロトタイプモード例1例2例3 2. オブザーバーパターン1. プロトタイプモードプロトタ...

MySQL統計テーブルのサイズを説明する例

各データベース内の各テーブルのサイズをカウントすることは、データ ガバナンスの最も単純な要件の 1 ...

Linux での一般的なシェル スクリプト コマンドと関連知識

目次1. 覚えておくべき知識1. 変数タイプ2. シェル変数の説明3. シングルクォート、ダブルクォ...

Linux テキスト検索コマンド find の詳細な使用方法

find コマンドは主にディレクトリやファイルを検索するために使用され、一致のために複数のパラメータ...