在Docker中安装FastDFS

在Docker中安装FastDFS

拉取Docker镜像

# 拉取FastDFS镜像,该镜像包含tracker和storage
docker pull season/fastdfs:1.2
复制代码

创建存放文件的目录

  • 该文件夹用于挂载docker中上传给FastDFS的文件
# -p 代表递归创建没有的目录
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 容器

跟踪服务器容器

docker run -di --name=tracker --net host --restart=always -p 22122:22122 -v \
/usr/local/fastdfs/tracker/data:/fastdfs/tracker/data season/fastdfs:1.2 tracker
复制代码

创建 storage 容器

存储服务器容器

docker run -di  --name=storage --net host --restart=always -v \
/usr/local/fastdfs/storage/path:/fastdfs/store_path  \
-e TRACKER_SERVER="192.168.20.255:22122" season/fastdfs:1.2 storage
复制代码

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

  • 先把 tracker 容器中的 client.conf 文件复制出来,修改之后再放回到 Docker 中。

FastStoneEditor

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
复制代码

配置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容器

docker run -id --name fastdfs_nginx --restart=always -v \
/usr/local/fastdfs/storage/path:/fastdfs/store_path -v \
/usr/local/fastdfs/nginx/nginx.conf:/etc/nginx/conf/nginx.conf \
-p 8082:80 -e TRACKER_SERVER=192.168.20.255:22122 season/fastdfs:1.2 nginx
复制代码

测试

  • 执行命令,进入 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
复制代码

Guess you like

Origin juejin.im/post/7034753211386822693