Docker安装FastDFS服务
1、查看fastdfs的镜像!
docker search fastdfs
2、拉取镜像
docker pull delron/fastdfs
3、启动tracker服务
docker run -d --network=host --name tracker -v /home/ubuntu/mydata/fastdfs/tracker:/var/fdfs delron/fastdfs tracker
4、启动storage服务
docker run -d --network=host --name storage -e TRACKER_SERVER=82.156.203.105:22122 -v /home/ubuntu/mydata/fastdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
5、docker ps 查看一下已经启动的容器
6、进入到storage容器中
docker exec -it f7c73c5216ad bash
这里说明一下,进入容器中后会发现进入了一个nginx文件下,是的没错!这个fastdfs容器自带了nginx,重点是因为你现在进入了容器中,而你并不能通过xftp访问到这个文件夹,后面我会讲到文件路径的问题
7、fastdfs默认的端口有三个8888,23000,22122
8888是默认的nginx代理端口,23000是storage服务端口,22122是tracker服务端口。
8、修改storage服务器暴露端口
在访问的时候不想用默认端口8888,因为这个端口可能比较常用,被占用了就不好了!那么这时候就可以把它修改一下了。在最后一行
vi /etc/fdfs/storage.conf
9、再修改nginx暴露的端口
vi /usr/local/nginx/conf/nginx.conf
10、重启stroage服务器
修改完成后需要重启容器,端口才能生效,当然还需要开启8001端口!
docker restart f7c73c5216ad
11、上传验证
我们现在将一张图片上传到fastdfs服务上,看看效果,再次进入容器
docker exec -it f7c73c5216ad bash
进入fdfs这个文件下:
cd /var/fdfs
运行命令:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.jpg
会发现有个文件为1.jpg,看3、4步,在新建tracker和stroage服务器的时候,通过参数-v挂载了一些文件夹。(需要说明的是,如果linux上的文件夹fastdfs是docker创建的,则使用xftp没有上传权限,修改权限:chmod 777 fastdfs)
12、上传文件到Linux
13、上传文件
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.jpg
14、浏览器访问
因为使用了nginx代理,nginx服务端代理了storage服务器的8001端口,同时监听url的8001端口。