一. 创建挂载文件夹
1、mkdir fastdfs
2、cd fastdfs
3、mkdir tracker storage
二、搜索fastdfs+nginx镜像
命令:sudo docker search fastdfs
三、下载镜像
1、命令:sudo docker pull delron/fastdfs
2、查看镜像命令: suo docker images
四. 启动tracker容器
命令:sudo docker run -it -d --network=host --name tracker -v 你的映射路径:/var/fdfs delron/fastdfs tracker
sudo docker run -it -d --network=host --name tracker -v /home/roo/fastdfs/tracker:/var/fdfs delron/fastdfs tracker
五、启动storage容器
命令:sudo docker run -it -d --network=host --name storage -e TRACKER_SERVER=你的ip:22122 -v 你的映射路径:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
sudo docker run -it -d --network=host --name storage -e TRACKER_SERVER=192.168.6.129:22122 -v /home/roo/fastdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
六、查看运行状态
命令:sudo docker ps
七、进入storage容器
sudo docker exec -it storage bash
八、查看修改配置文件
1、storage.conf文件。
目录:/etc/fdfs
修改命令:vi storage.conf
2、nginx.conf文件
目录:/usr/local/nginx/conf
修改命令:vi nginx.conf
九、重启容器
docker restart storage
十、在宿主机端进行测试
1、python上传图片
(1)安装客户端环境
下载fdfs_client-py-master.zip到客户端。(此处有BUG,并需要修改client.conf配置)文件,请查其他详细文档)
执行以下三条命令
pip install fdfs_client-py-master.zip
pip install mutagen
pip isntall requests
(2) 上传图片代码
from fdfs_client.client import Fdfs_client
client = Fdfs_client(r'./client.conf')
ret = client.upload_by_filename(r'/root/adv01.jpg') # 图片路径
print(ret)
(3)返回内容
ret = {
'Group name': 'group1', # 'Storage组名'
'Remote file_id': 'group1/M00/00/00/wKhnnlxw_gmAcoWmAAEXU5wmjPs35.jpeg', # '文件索引用于下载'
'Status': 'Upload successed.', # '文件上传结果反馈'
'Local file name': '/root/adv01.jpg', # 文件上传全路径
'Uploaded size': '69.00KB', # 文件大小
'Storage IP': '192.168.6.129' # Storage 地址
}
2、图片访问
查看防火墙状态:systemctl status firewalld
关闭防火墙:service iptables status
协议:http
IP地址:192.168.6.129 # Nginx服务器的IP地址
端口:8888 # Nginx 端口
路径:group1/M00/00/00/wKhnnlxw_gmAcoWmAAEXU5wmjPs35.jpeg # 文件索引路径
完整访问地址:http://192.168.6.129:8888/group1/M00/00/00/wKhnnlxw_gmAcoWmAAEXU5wmjPs35.jpeg