docker-compse安装fastdfs


	必须用 docker host网络模式进行通信

目录层级


├── docker-compose.yml
├── fastdfs.tar.gz
├── nginx
│   └── nginx.conf
├── storage
│   ├── conf
│   │   └── storage.conf
│   └── data
├── store_path
│   └── data
└── tracker
    ├── conf
    │   ├── client.conf
    │   └── tracker.conf
    └── data

注意


	配置 TRACKER_SERVER地址为虚机或公网服务器ip
	这里必须用host网络模式
	如果是虚机需要手动开启防火墙
	sudo firewall-cmd --zone=public --add-port=22122/tcp --permanent
	sudo firewall-cmd --zone=public --add-port=23000/tcp --permanent
	sudo firewall-cmd --zone=public --add-port=9800/tcp --permanent
	sudo firewall-cmd --reload

docker-compose.yml


version: "3.5"
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
      - ./tracker/conf:/etc/fdfs
  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
      - ./storage/conf/storage.conf:/fdfs_conf/storage.conf
    environment:
      - TRACKER_SERVER=192.168.106.132: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/nginx.conf:/etc/nginx/conf/nginx.conf
      - ./store_path:/fastdfs/store_path
    environment:
      - TRACKER_SERVER=192.168.106.132:22122
    command: nginx

tracker.conf


# is this config file disabled
# false for enabled
# true for disabled
disabled=false

# bind an address of this host
# empty for bind all addresses of this host
bind_addr=

# the tracker server port
port=22122

# connect timeout in seconds
# default value is 30s
connect_timeout=30

# network timeout in seconds
# default value is 30s
network_timeout=60

# the base path to store data and log files
base_path=/fastdfs/tracker

# max concurrent connections this server supported
max_connections=256

# accept thread count
# default value is 1
# since V4.07
accept_threads=1

# work thread count, should <= max_connections
# default value is 4
# since V2.00
work_threads=4

# the method of selecting group to upload files
# 0: round robin
# 1: specify group
# 2: load balance, select the max free space group to upload file
store_lookup=2

# which group to upload file
# when store_lookup set to 1, must set store_group to the group name
store_group=group1

# which storage server to upload file
# 0: round robin (default)
# 1: the first server order by ip address
# 2: the first server order by priority (the minimal)
store_server=0

# which path(means disk or mount point) of the storage server to upload file
# 0: round robin
# 2: load balance, select the max free space path to upload file
store_path=0

# which storage server to download file
# 0: round robin (default)
# 1: the source storage server which the current file uploaded to
download_server=0

# reserved storage space for system or other applications.
# if the free(available) space of any stoarge server in
# a group <= reserved_storage_space,
# no file can be uploaded to this group.
# bytes unit can be one of follows:
### G or g for gigabyte(GB)
### M or m for megabyte(MB)
### K or k for kilobyte(KB)
### no unit for byte(B)
### XX.XX% as ratio such as reserved_storage_space = 10%
reserved_storage_space = 10%

#standard log level as syslog, case insensitive, value list:
### emerg for emergency
### alert
### crit for critical
### error
### warn for warning
### notice
### info
### debug
log_level=info

#unix group name to run this program,
#not set (empty) means run by the group of current user
run_by_group=

#unix username to run this program,
#not set (empty) means run by current user
run_by_user=

# allow_hosts can ocur more than once, host can be hostname or ip address,
# "*" means match all ip addresses, can use range like this: 10.0.1.[1-15,20] or
# host[01-08,20-25].domain.com, for example:
# allow_hosts=10.0.1.[1-15,20]
# allow_hosts=host[01-08,20-25].domain.com
allow_hosts=*

# sync log buff to disk every interval seconds
# default value is 10 seconds
sync_log_buff_interval = 10

# check storage server alive interval seconds
check_active_interval = 120

# thread stack size, should >= 64KB
# default value is 64KB
thread_stack_size = 64KB

# auto adjust when the ip address of the storage server changed
# default value is true
storage_ip_changed_auto_adjust = true

# storage sync file max delay seconds
# default value is 86400 seconds (one day)
# since V2.00
storage_sync_file_max_delay = 86400

# the max time of storage sync a file
# default value is 300 seconds
# since V2.00
storage_sync_file_max_time = 300

# if use a trunk file to store several small files
# default value is false
# since V3.00
use_trunk_file = false

# the min slot size, should <= 4KB
# default value is 256 bytes
# since V3.00
slot_min_size = 256

你可能感兴趣的:(docker)