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 ウェブページのブラウザタイトルバーに小さなアイコンを表示する方法

この効果と同様に、方法も非常に簡単です。ヘッダーに次のように記述します: <link rel=...

Vue3.0のさまざまなリスニング方法の包括的な概要

目次リスナー1.ウォッチエフェクト2.見る1.1 聴くための最初の方法1.2 聞く2つ目の方法1.3...

Dockerfile に基づいて Tomcat イメージを構築する方法

Dockerfile は Docker イメージを構築するために使用されるファイルです。コマンドパラ...

Ubuntu 18.04 (コミュニティ エディション) に Docker CE をインストールする方法

古いバージョンをアンインストールする以前に古いバージョンをインストールしたことがある場合は、まずそれ...

Vue バックグラウンドでステータス ラベルをエレガントに記述する例

目次序文最適化変数の抽出二次包装 el-tag コンポーネント使用要約する序文バックエンドシステムの...

VUE 入門 イベント処理の学習

目次1. 関数バインディング2. パラメータと$eventを使用する3. 1つのイベントに複数の関数...

Vueは複数列レイアウトドラッグを実装します

この記事では、マルチカラムレイアウトドラッグを実装するためのVueの具体的なコードを参考までに共有し...

CentOS7 で MySQL のスケジュールされた自動バックアップを実装する方法

実稼働環境で起こる最も嬉しいことは、シナリオによっては、更新または削除時にパラメータを無視せざるを得...

マーキー要素は、スクロールするフォントや画像などの効果を実装します。

マーキー要素を使用すると、単純なフォント(画像など)のスライドやその他の効果を実現できます。コードを...

CSS はコンテナ レベル (div...) タグを 1 つの位置 (ページの右端) に固定します。

コードは次のようになります。 。プロセス{ 境界線:1px 実線 #B7B7B8; 背景:#F8F8...

MySQL ロックブロッキングの詳細な分析

日常のメンテナンスでは、スレッドがブロックされることが多く、データベースの応答が非常に遅くなります。...

CSS3はNESゲームコンソールのサンプルコードを実装します

成果を達成する実装コードhtml <input type="radio" ...

Alibaba Cloud Centos7.3 インストール mysql5.7.18 rpm インストール チュートリアル

MariaDBをアンインストールするCentOS7 ではデフォルトで MySQL の代わりに Mar...

HTTP サーバーとクライアントのやり取りをシミュレートする Node.js+postman

目次1. NodeがHTTPサーバーを構築する2. HTTPサーバーがリクエストを取得する1. Po...