赞
踩
docker search fastdfs
docker pull delron/fastdfs #拉取最新版本
docker images
docker ps
docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs tracker
docker run -dti --network=host --name storage -e TRACKER_SERVER=123.45.67.89:22122 -v /var/fdfs/storage:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs storage
#TRACKER_SERVER=本机的ip:22122 公网IP的话使用公网IP 不要使用127.0.0.1
进入到storage容器,到storage的配置文件里面配置http访问的端口,文件在/etc/fdfs目录下的storage.conf
docker exec -it storage bash
cd /etc/fdfs
vim storage.conf
找到并修改为http.server_port=8888 # 如果是默认为8888 可以不修改
# 如果重启后无法启动,可能是报下面错误了,在镜像中手动创建 vi /var/fdfs/logs/storaged.log 文件即可
# tail: cannot open '/var/fdfs/logs/storaged.log' for reading: No such file or directory
进入storage,配置nginx,在/usr/local/nginx目录下,修改nginx.conf文件,默认配置不修改也行,看个人
server{
listen 8888;
server_name localhost;
location ~/group[0-9] {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html
location = /50x.html{
root html;
}
}
将文件上传至文件系统进行测试,把一张照片放置在/var/fdfs/storage目录下,进入storage容器,进入/var/fdfs目录下
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.jpg
此时文件已经上传至文件系统,并在执行该语句后返回图片的url连接
如果是阿里云的话,所有的端口需要在开放安全组规则。普通的物理机需要手动开放端口
firewall-cmd --zone=public --permanent --add-port=8888/tcp
firewall-cmd --zone=public --permanent --add-port=22122/tcp
firewall-cmd --zone=public --permanent --add-port=23000/tcp
systemctl restart firewalld #重启防火墙
#重启容器
docker update --restart=always tracker
docker update --restart=always storage
运行 docker container start storage 无法启动时,可以删除/var/fdfs/storage/data目录下的fdfs_storaged.pid 文件,然后重新运行storage
docker上部署fdfs还是非常省事的,避免了一系列的配置。fastdfs的客户端非常的不友好,单纯的在物理机上安装fastdfs是比较麻烦的,推荐使用docker
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。