在Docker中安装FastDFS

144 阅读1分钟

拉取Docker镜像

docker pull season/fastdfs:1.2

创建存放文件的目录

mkdir -p /usr/local/fastdfs/tracker/data
mkdir -p /usr/local/fastdfs/storage/data
mkdir -p /usr/local/fastdfs/storage/path
mkdir -p /usr/local/fastdfs/nginx

创建 tracker,## storage 容器

# xxx.xxx.xxx.xxx为自己服务器的ip

docker run -di --name tracker --net=host -p 22122:22122 -v /usr/local/fastdfs/tracker/data:/fastdfs/tracker/data season/fastdfs:1.2 tracker
docker run -di --name storage --net=host -v /usr/local/fastdfs/storage/path:/fastdfs/store_path -v /usr/local/fastdfs/storage/data:/data/fast_data/dat -e TRACKER_SERVER="xxx.xxx.xxx.xxx:22122" season/fastdfs:1.2 storage

修改 tracker 容器中 client.conf 配置文件

docker cp tracker:/etc/fdfs/client.conf /usr/local/fastdfs/tracker/

# 修改client.conf 文件的 ip地址
vim /usr/local/fastdfs/tracker/client.conf 

docker cp /usr/local/fastdfs/tracker/client.conf tracker:/etc/fdfs

image.png

配置Nginx

# 将storage容器中的nginx配置文件复制出来。
docker cp storage:/etc/nginx/conf/nginx.conf /usr/local/fastdfs/nginx

# 修改nginx中的配置
vim /usr/local/fastdfs/nginx/nginx.conf

# 修改Nginx配置文件的内容
location / {
    root /fastdfs/store_path/data;
    ngx_fastdfs_module;
 }

创建并启动nginx容器

# xxx.xxx.xxx.xxx为自己服务器的ip
docker run -di --name fastdfs_nginx -v /usr/local/fastdfs/storage/path:/fastdfs/store_path -v /usr/local/fastdfs/nginx/nginx.conf:/etc/nginx/conf/nginx.conf -p 8888:80 -e TRACKER_SERVER="xxx.xxx.xxx.xxx:22122" season/fastdfs:1.2 nginx

其他

如果是云服务器,需要在控制台里开通 22122,8888端口

测试

执行命令,进入 tracker 容器中
docker exec -it tracker bash
随便创建一个 txt 文件
echo "dangdangdang" > dangdangdang.txt
然后通过 fdfs_upload_file 命令将 dangdangdang.txt 文件上传至服务器
fdfs_upload_file /etc/fdfs/client.conf dangdangdang.txt