Detailed example of installing FastDfs file server using docker compose

Detailed example of installing FastDfs file server using docker compose

docker-compose.yml

version: '2'
services:
    fastdfs-tracker:
        hostname: fastdfs-tracker
        container_name: fastdfs-tracker
        image: season/fastdfs:1.2
        network_mode: "host"
        command: tracker
        volumes:
          - ./tracker_data:/fastdfs/tracker/data
    fastdfs-storage:
        hostname: fastdfs-storage
        container_name: fastdfs-storage
        image: season/fastdfs:1.2
        network_mode: "host"
        volumes:
          - ./storage_data:/fastdfs/storage/data
          - ./store_path:/fastdfs/store_path
        environment:
          - TRACKER_SERVER=xxx.xxx.xxx.xxx:22122
        command: storage
        depends_on:
          - fastdfs-tracker
    fastdfs-nginx:
        hostname: fastdfs-nginx
        container_name: fastdfs-nginx
        image: season/fastdfs:1.2
        network_mode: "host"
        volumes:
          - ./nginx.conf:/etc/nginx/conf/nginx.conf
          - ./store_path:/fastdfs/store_path
        environment:
          - TRACKER_SERVER=xxx.xxx.xxx.xxx:22122
        command: nginx

Note:
network_mode must be host, because when uploading files, the tracker will send the storage IP and port to the client. If it is bridge mode, it will send the internal network IP, which the client cannot access.
Use season/fastdfs:1.2 as the image. Do not use lastest, because lastest does not include the nginx service. Other fastdfs images are not as streamlined as season.

nginx.conf (used to provide http download files)

listen 7003 is the ngingx service access port, which can be switched by yourself

#user nobody;
worker_processes 1;
 
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
 
#pid logs/nginx.pid;
 
 
events {
    worker_connections 1024;
}
 
 
http {
    include mime.types;
    default_type application/octet-stream;
 
    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    # '$status $body_bytes_sent "$http_referer" '
    # '"$http_user_agent" "$http_x_forwarded_for"';
 
    #access_log logs/access.log main;
 
    sendfile on;
    #tcp_nopush on;
 
    #keepalive_timeout 0;
    keepalive_timeout 65;
 
    #gzip on;
 
    server {
        listen 7003;
        server_name localhost;
 
        #charset koi8-r;
 
        #access_log logs/host.access.log main;
 
        location /group1/M00 {
            root /fastdfs/storage/data;
            ngx_fastdfs_module;
        }
 
        #error_page 404 /404.html;
 
        # redirect server error pages to the static page /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
 }
}

This is the end of this article about installing FastDfs file server with docker-compose. For more information about installing FastDfs with docker-compose, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Some notes on installing fastdfs image in docker
  • Building FastDFS file system in Docker (multi-image tutorial)
  • How to install FastDFS in Docker
  • How to deploy FastDFS in Docker
  • How to use docker compose to build fastDFS file server

<<:  Vue close browser logout implementation example

>>:  Use @font-face to implement special characters on web pages (create custom fonts)

Recommend

Detailed explanation of Linux commands and file search

1. Perform file name search which (search for ...

Vue Page Stack Manager Details

Table of contents 2. Tried methods 2.1 keep-alive...

A brief discussion on the Linux kernel's support for floating-point operations

Currently, most CPUs support floating-point units...

Linux uses iftop to monitor network card traffic in real time

Linux uses iftop to monitor the traffic of the ne...

React-Native environment setup and basic introduction

Environment Preparation 1. Environment Constructi...

Solution to Docker pull timeout

Recently, Docker image pull is very unstable. It ...

DOCTYPE element detailed explanation complete version

1. Overview This article systematically explains ...

Detailed explanation of MySQL index principles and optimization

Preface This article was written by a big shot fr...

How to hide the version number and web page cache time in Nginx

Nginx optimization---hiding version number and we...

A brief discussion on the CSS overflow mechanism

Why do you need to learn CSS overflow mechanism i...

Implementation steps for building a local web server on Centos8

1 Overview System centos8, use httpd to build a l...

Detailed explanation of HTML document types

Mine is: <!DOCTYPE html> Blog Garden: <!...

Detailed explanation of the adaptive adaptation problem of Vue mobile terminal

1. Create a project with vue ui 2. Select basic c...