社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
文件已经准备好,传送门: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
配置稍微比较久了,这里说明下配置:
具体请看
里面的相关脚本吧。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!