1. 程式人生 > >Docker一鍵搭建 FastDFS單機版 圖片伺服器

Docker一鍵搭建 FastDFS單機版 圖片伺服器

本教程基於docker和docker-compose環境,使用了morunchang/fastdfs映象(包含nginx訪問模組).可快速實現FastDFS的單機圖片伺服器部署.

1 建立docker檔案結構

檔案結構如下 檔案結構

2 編寫docker-compose檔案

docker-compose.yml檔案如下

version: '3'

services:
 tracker:
  image: "morunchang/fastdfs"
  ports:
  - "22122:22122"
  entrypoint: sh tracker.sh
 storage:
  depends_on:
    - tracker
build: ./storage environment: GROUP_NAME: group1 TRACKER_IP: 機器IP:22122 ports: - "8088:8080" - "23000:23000" volumes: - /my/data/fast_data:/data/fast_data
  • 思路: tracker是直接執行,而storage則需要根據dockerfile來自己構建映象執行,這是因為需要對nginx.conf檔案進行配置
  • 注意: 22122是tracker的埠,23000是storage的埠,這兩個埠寫在彼此的配置檔案中,除非修改配置檔案,否則不要去改,通過對映的方法也不行.8080是nginx訪問埠,只配置在storage裡面,所以可通過對映改為其他埠

3 編寫Dockerfile檔案

內容如下,只是把配置檔案拷貝進來,覆蓋掉原檔案

FROM morunchang/fastdfs
COPY nginx.conf /data/nginx/conf/nginx.conf
ENTRYPOINT sh storage.sh

4 編寫nginx.conf檔案

在容器的/data/nginx/conf目錄下本來就有一個nginx.conf檔案,將其複製出來,在server結構下新增如下內容

location /group1/M00 {
   proxy_next_upstream http_502 http_504 error timeout invalid_header;
     proxy_cache
http-cache; proxy_cache_valid 200 304 12h; proxy_cache_key $uri$is_args$args; proxy_pass http://fdfs_group1; expires 30d; }
  • 注意 如果上面docker-compose檔案中GROUP_NAME不為group1,則這裡需要對應修改

這裡貼出我的nginx.conf檔案,已經把大部分註釋刪掉了

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       8888;
        server_name  localhost;

location /group1/M00 {
   proxy_next_upstream http_502 http_504 error timeout invalid_header;
     proxy_cache http-cache;
     proxy_cache_valid  200 304 12h;
     proxy_cache_key $uri$is_args$args;
     proxy_pass http://fdfs_group1;
     expires 30d;
 }

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

5 執行測試

docker-compose.yml所在目錄執行docker-compose up -d即可,使用docker ps觀測結果如下 觀測結果 使用客戶端上傳,檔案在/my/data/fast_data目錄下(docker-compose檔案映射出來的) /my/data/fast_data目錄