栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

记录一之mac系统的docker安装fastdfs

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

记录一之mac系统的docker安装fastdfs

在安装好docker的前提下获取镜像可以通过下载

docker pull delron/fastdfs

启动tracker,这里我把fast存储路径放在自己的桌面/Users/apple/Desktop/fdfs/tracker,**注意可别放在/var/fdfs/tracker,看到一些博客放在这下面,初步分析是权限的问题 **

docker run -d -p 22122:22122 --name tracker --net=my-net  -v /Users/apple/Desktop/fdfs/tracker:/var/fdfs delron/fastdfs tracker

启动storage,这里的192.168.1.102是自己的ip,通过ifconfig查询得到,同样storage也是放在桌面上

docker run -d -p 8888:8888 -p 23000:23000 --name storage --net=my-net -e TRACKER_SERVER=192.168.1.102:22122 -v /Users/apple/Desktop/fdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage

修改tracker的配置文件,由于docker容器中没有vim命令来直接修改文件内容,所以这里采取将文件先拷贝出来,修改,再拷贝回去的方式

docker cp tracker:/etc/fdfs/storage.conf ~/

打开storage.conf配置文件,修改tracker_server的ip为自己的ip,即192.168.1.102

vim storage.conf


重启tracker和storage容器。

docker restart storage

docker restart tracker

进入tracker容器或者进入storage容器去测试看看两者是否互通。

docker exec -it tracker bash

进入容器后运行这个命令看结果:

fdfs_monitor /etc/fdfs/storage.conf

如果出现如图所示的内容,恭喜你,成功了。

但是,你一定还会踩这个坑。在上传测试的时候你会发现报错:connect to 172.18.0.1:23000. timed out 原因是storage容器注册在tracker容器中用的是容器网段ip,所以返回给python服务器端的ip也是该ip,导致无法访问到172.18.0.1(我本机docker下tracker分配的内网地址,可使用docker exec -it tracker /bin/bash ,使用ifconfig命令查看。上图其实也是能看到这个ip)

解决方法:给mac的lo0设置别名即可,注意不是容器设置别名哈

sudo ifconfig lo0 alias 172.18.0.1
sudo ifconfig lo0 alias 10.0.75.2

设置完毕后在客户端访问172.18.0.1:23000时,会转向访问本机的127.0.0.1:23000

需要注意的是这样设置了后,以后所有的172.18.0.1地址都会转向127.0.0.1。

python在pycharm的shell中测试


测试代码如下:

from fdfs_client.client import Fdfs_client

client = Fdfs_client('/Users/apple/Desktop/技术栈/Django/meiduo_project/meiduo_mall/meiduo_mall/utils/fastdfs_storage/client.conf')

ret = client.upload_by_filename("/Users/apple/Desktop/头像.png")
getting connection



ret
{'Group name': 'group1', 'Remote file_id': 'group1/M00/00/00/rBIAA2GdCvWAKZDOAABGIZKi98E299.png', 'Status': 'Upload successed.', 'Local file name': '/Users/apple/Desktop/头像.png', 'Uploaded size': '17.00KB', 'Storage IP': '172.18.0.1'}

还原命令:切记测试完记得还原

sudo ifconfig lo0 -alias 10.0.75.2 
sudo ifconfig lo0 -alias 172.18.0.1
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/587559.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号