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ルーティングはページステータスを復元する操作メソッドを返します

推薦する

divは、自動入力スタイルをブロックする入力ボックスとして入力を使用せずにコンテンツを入力できます。

今日、私は公開用の動的なウィンドウ スタイルを設計しましたが、マウスで入力をクリックしたときにブラウ...

16進カラーコード(完全版)

赤とピンク、およびそれらの 16 進コード。 #990033 #CC6699 #FF6699 #FF...

IntelliJ IDEA に Docker プラグインをインストールする詳細な手順 (2018 バージョン)

目次1. 開発環境2. dockerプラグインをインストールする1. アイデアのインストール2. イ...

WeChatアプレットにおけるデータ保存実装方法

目次グローバル変数 globalDataページプライベート変数データストレージ非同期ストレージ(デバ...

HTML でのアンカーポイントの使用_PowerNode Java アカデミー

ここで、アンカー ポイントを制御するいくつかの状況をまとめてみましょう。 1. 同じページ <...

hrefパラメータ転送における中国語の文字化けについて

パラメータを渡すために href が必要で、パラメータが中国語の場合、文字化けした文字が表示されます...

Reactでpropsを使用する方法と制限する方法

コンポーネントの props (props はオブジェクトです)機能: コンポーネントに渡されたデー...

一時ファイルを作成できないために MySQL が起動できない問題を解決する方法

問題の説明最近、仕事中に問題が発生しました。MySQL が起動に失敗しました。エラー ログは次のとお...

Js の継承とプロトタイプチェーンを理解するのに役立つ記事

目次継承とプロトタイプチェーン継承されたプロパティ継承されたメソッドJavaScript でのプロト...

ストアド プロシージャでエラー状態をトリガーする mysql ストアド プロシージャの分析例 (SIGNAL および RESIGNAL ステートメント)

この記事では、例を使用して、MySQL がストアド プロシージャで引き起こすエラー状態 (SIGNA...

CSS で平均レイアウトを実現するためにネガティブ マージン テクノロジーを使用する方法

通常、IE ブラウザでの CSS の互換性の問題を解決するために、フロート レイアウトが使用されます...

Vue はスクロール可能なポップアップウィンドウ効果を実装します

この記事では、スクロール可能なポップアップウィンドウ効果を実現するためのVueの具体的なコードを参考...

ルート権限なしでログインするためのDockerソリューション

docker コマンドを初めて使用する場合、権限の問題を確認するメッセージが表示されます。 unix...

HTML いくつかの特別な分割線効果

1. 基本ライン 2. 特殊効果(効果は独立しておらず、互いに組み合わせることができます) 1. 両...

Mac で docker と kubectl の自動補完コマンドを追加する方法

kubectl の紹介kubectl は、k8s クラスターを操作するためのコマンドライン ツールで...