记录一之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

记录一之mac系统的docker安装fastdfs
重启tracker和storage容器。
docker restart storage

docker restart tracker

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

docker exec -it tracker bash

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

fdfs_monitor /etc/fdfs/storage.conf

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

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

但是,你一定还会踩这个坑。在上传测试的时候你会发现报错: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系统的docker安装fastdfs

解决方法: 给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中测试

记录一之mac系统的docker安装fastdfs
测试代码如下:
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
<fdfs_client.connection.Connection object at 0x7f8bc6e7d400>
<fdfs_client.fdfs_protol.Tracker_header object at 0x7f8bc6e7d320>

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

Original: https://blog.csdn.net/weixin_42689212/article/details/121506107
Author: 皮皮虾不皮呀
Title: 记录一之mac系统的docker安装fastdfs

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/735086/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球