天天看点

FastDFS基于Docker安装,免踩坑版

暂且不说docker在生产环境的性能如何,单就在学习新技术的过程中能够快速构建环境这一项来说,就值得推荐你尝试使用。本文带大家基于docker来安装fastdfs服务。

即便你对fastdfs的安装不感兴趣,也可以学习一下docker安装软件的过程(基本通用),是提高学习效率的法宝之一。

如果想补习一下fastdfs的原理,请参考《文件管理系统fastdfs原理详解》,有助于下面内容的理解和学习。

关于docker的安装不同的操作系统有不同的安装方法,这里就不再赘述,默认你的电脑或服务器上已经安装好了docker,并已启动。

我们来看一下docker库里面已经存在了哪些镜像可供使用。执行以下命令(如果非管理员权限则可能需要使用sudo):

如果你是安装其他的软件,也可同样通过docker search命令来进行查找。

这里采用名字为delron/fastdfs的镜像,当然你也可以选择其他的镜像,配置会有所不同,有些镜像内没有nginx相关配置。

那么,我们就把它pull下来吧。

使用docker镜像构建tracker容器,用于启动跟踪服务器,起到调度的作用。

上面的启动命令是在linux下,如果是mac或windows操作系统network=host(容器与主机享受相同的network namespace)会失效,此时需要指定对应的端口映射。本教程的docker宿主机为mac。

默认tracker是监听在22122端口的。

其中-v参数将本地的目录与容器中的/var/fdfs目录进行挂载。

这里可以看到tracker服务已经启动完成。

使用docker镜像构建storage容器,用于启动存储服务器,提供容量和备份服务。

在执行下面命令时特别需要提醒的时,对应的ip地址,需要修改为tracker服务的ip地址,由于是在同一台电脑上操作,这里使用本机的内网地址即可,22122是tracker对应的端口。

示例,下面命令需要替换ip地址。

替换ip地址之后对应mac下的的具体执行操作:

其中8888为nginx对应的访问端口,23000是storage服务端口。

此时可查看docker的服务情况:

经过上面的步骤,tracker和storage都启动完成。我们可以进入对应的docker容器查看一下默认的配置情况。

进入docker的命令为:

其中参数值“2bc9f8268eda”为我们上面看到的要进入的容器的container id。

先进入storage,查看其对应配置文件中关于http访问的配置,配置文件在/etc/fdfs目录下的storage.conf。在最后一行可以看到如下配置:

也就是说,这个docker镜像中默认监听的是8888端口,当然此配置是需要修改的。如果修改为其他端口,对应的nginx配置也需要修改。

那么nginx配置在哪里呢?也在当前容器当中。nginx配置文件的根目录为:

可以对其下的nginx.conf进行查看和修改。先来看一下默认配置:

上面是关于server的配置,端口与storage的端口一一对应。如果需要修改时两个同步修改。

通过上面的操作你会发现默认fastdfs会需要开启8888、23000、22122端口,如果在linux操作系统下,注意防火墙对对应端口的开放。

经过上面的步骤已经完成了fastdfs的安装和配置,下面我们来放一张图片验证一下。

首先,将一张图片放在本机挂载目录/users/zzs/develop/temp/storage下(上面命令中用到的目录)。

然后,进入storage容器,进入/var/fdfs目录,执行如下命令:

其中wenxin.jpg是前面存放在本机storage目录下的图片的名称。

相关执行命令及目录:

此时,文件已经上传成功,会返回在storage存储文件的路径信息。

通过url访问http://ip:8888/group1/m00/00/00/rbeaa18x7zwafapiaabrsfvlx6u142.jpg,即可查看到图片。这里ip替换成localhost或127.0.0.1接口。

展示效果如下:

FastDFS基于Docker安装,免踩坑版