mac下docker安装fastdfs

说明:本次pull已经整合了fastdfs与nginx的镜像,偷个懒。下面不说原理啦,直接简单粗暴执行命令进行安装。

1.下载镜像:

docker pull delron/fastdfs

注:安装fastdfs需要构建tracker容器与storage容器

2.创建桥接网络

说明:mac环境下docker不能使用host网络(非mac可以使用host,仅供测试环境时哈),不然-p命令不能使用,导致不能绑定ip和端口,如下图

创建桥接网络:

docker network create my-net
注:默认是创建的bridge网络,无需指定

 

3.构建tracker容器(跟踪服务器,起到调度的作用)

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

注意:tracker挂载的路径

4.构建storage容器(存储服务器,提供容量和备份服务)

docker run -d -p 8888:8888 -p 23000:23000 --name storage --net=my-net -e TRACKER_SERVER=192.168.1.8:22122 -v /Users/xxx/Desktop/开发/soft/fastdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage

注意:storage挂载的路径,及TRACKER_SERVER的ip,此处的192.168.1.8是我本机的ip,大家安装时可通过ifconfig命令来查看自己的ip。

5.检验是否安装成功

注:此处省略代码与fastdfs的整合。

主要讲解此处的大坑:com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can't create connection to/172.19.0.1:23000 问题 ,是因为storage容器注册在tracker容器中用的是容器网段ip,所以返回给Java服务器端的ip也是该ip,导致无法访问到172.19.0.1(我本机docker下tracker分配的内网地址,可使用docker exec -it tracker /bin/bash ,使用ifconfig命令查看)。

解决方法:给lo0设置别名即可

sudo ifconfig lo0 alias 172.19.0.1
sudo ifconfig lo0 alias 10.0.75.2

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

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

还原命令:

sudo ifconfig lo0 -alias 10.0.75.2 

sudo ifconfig lo0 -alias 172.19.0.1

 

参考地址: https://www.cnblogs.com/bjlhx/p/12239588.html

  https://github.com/tobato/FastDFS_Client/wiki/%E4%BD%BF%E7%94%A8Docker%E6%90%AD%E5%BB%BA%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83%E9%97%AE%E9%A2%98

 

 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值