docker打包fastdfs镜像,搭建fastdfs集群方案 - Go语言中文社区

docker打包fastdfs镜像,搭建fastdfs集群方案


文件下载

文件已经准备好,传送门:https://download.csdn.net/download/shan165310175/11360416

下载文件,解压:

Dockerfile内容:

FROM alpine

MAINTAINER 165310175@qq.com

ADD fastdfs.tar.gz /usr/local/src/

RUN cd /usr/local/src && sh build.sh

VOLUME /data/fdfs

EXPOSE 22122
EXPOSE 8888
EXPOSE 80

ENTRYPOINT ["sh","/start.sh"]

fastdfs.tar.gz里面已经封装好文件了

build.sh内容:

#!/bin/sh

mkdir -p /data/fdfs /var/log/nginx

# 主要是编译nginx模块
apk add --no-cache gcc g++ make automake autoconf libtool pcre pcre-dev zlib zlib-dev openssl-dev

cd /usr/local/src/libfastcommon && sh make.sh clean && sh make.sh && sh make.sh install

cd /usr/local/src/fastdfs && sh make.sh clean && sh make.sh && sh make.sh install

cd /usr/local/src/nginx && ./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/ && make && make install

ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

rm -fr /etc/fdfs

mkdir -p /etc/fdfs

cp /usr/local/src/config/* /etc/fdfs/ -R

rm /usr/local/nginx/conf/nginx.conf -f

mv /etc/fdfs/bak/nginx.conf.bak /usr/local/nginx/conf/nginx.conf

mv /usr/local/src/start-tracker.sh /usr/local/bin/
mv /usr/local/src/start-storage.sh /usr/local/bin/
mv /usr/local/src/start.sh /start.sh

rm -fr /usr/local/src

apk del gcc
apk del g++

 

 

 

安装步骤

打包镜像:

cd build-fastdfs

docker build -t fdfs .

使用docker-compose.yml启动测试:

docker-compose up -d

# 注意,由于有依赖关系,可能启动不成功,可以使用单独按顺序启动的方式启动。

 

文件目录为: /data/fdfs

具体稍微看看下载的文件中的配置内容哦。

 

docker-compose.yml文件说明:

version: "3"
services:
    tracker01:
            image: fdfs
            network_mode: fdfs_net
            command: tracker
            container_name: tracker01
            restart: on-failure

    tracker02:
            image: fdfs
            network_mode: fdfs_net
            command: tracker
            container_name: tracker02
            restart: on-failure

    tracker03:
            image: fdfs
            network_mode: fdfs_net
            command: tracker
            container_name: tracker03
            restart: on-failure

    storage01:
            image: fdfs
            network_mode: fdfs_net
            container_name: storage01
            environment:
                    - TRACKER=tracker01,tracker02,tracker03
            depends_on:
                    - tracker01
                    - tracker02
                    - tracker03
            links:
                    - tracker01:tracker01
                    - tracker02:tracker02
                    - tracker03:tracker03
            command: storage
            restart: on-failure

    storage02:
            image: fdfs
            network_mode: fdfs_net
            container_name: storage02
            environment: 
                    - TRACKER=tracker01,tracker02,tracker03
            depends_on:
                    - storage01
            links:
                    - tracker01:tracker01
                    - tracker02:tracker02
                    - tracker03:tracker03
            command: storage
            restart: on-failure

    storage03:
            image: fdfs
            network_mode: fdfs_net
            container_name: storage03
            environment: 
                    - TRACKER=tracker01,tracker02,tracker03
            depends_on:
                    - storage02 
            links:
                    - tracker01:tracker01
                    - tracker02:tracker02
                    - tracker03:tracker03
            command: storage
            restart: on-failure

配置稍微比较久了,这里说明下配置:

具体请看

里面的相关脚本吧。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/shan165310175/article/details/96100841
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 21:09:25
  • 阅读 ( 2457 )
  • 分类:docker

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢