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