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

Analysis of MySQL joint index function and usage examples

This article uses examples to illustrate the func...

css3 animation ball rolling js control animation pause

CSS3 can create animations, which can replace man...

HTML table tag tutorial (7): background color attribute BGCOLOR

The background color of the table can be set thro...

Install nodejs and yarn and configure Taobao source process record

Table of contents 1. Download nodejs 2. Double-cl...

Front-end JavaScript thoroughly understands function currying

Table of contents 1. What is currying 2. Uses of ...

Web page production TD can also overflow hidden display

Perhaps when I name this article like this, someon...

Sublime Text - Recommended method for setting browser shortcut keys

It is common to view code effects in different br...

JS version of the picture magnifying glass effect

This article shares the specific code of JS to ac...

How to build Nginx image server with Docker

Preface In general development, images are upload...

Design Theory: Text Legibility and Readability

<br />Not long ago, due to business needs, I...

Learn SQL query execution order from scratch

The SQL query statement execution order is as fol...

Analysis of the principle of using PDO to prevent SQL injection

Preface This article uses pdo's preprocessing...

The normal method of MySQL deadlock check processing

Normally, when a deadlock occurs, the connection ...