第一步:拉取镜像
docker pull delron/fastdfs
这个版本的镜像是比较全的,含有fastdfs以及nginx以及其相关的配置。
第二步:启动tracker服务
docker run -d --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
第三步:启动storage服务
docker run -d --network=host --name storage -e TRACKER_SERVER=你的ip:22122 -v /var/fdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
第四步:修改nginx端口(这里默认是8888),也可以不修改
这里以修改为8874为例子:
1、进入storage容器:docker exec -it storage bash
2、修改storage内部http.server_port
vi /etc/fdfs/storage.conf(可以看到在最后一行)
将其改成为http.server_port=8874即可。
3、因为修改了storage,所以还需要修改nginx
vi /usr/local/nginx/conf/nginx.conf,然后将其内部的listen 8888; 改成 listen 8874;
4、命令退出:exit
第五步:重启storage容器
docker restart storage
第六步:测试是否配置成功
1、拷贝一张图片到目录/var/fdfs/tracker/storage
2、进入storage容器:docker exec -it 953f982bd474 bash
3、进入fdfs目录:cd /var/fdfs
4、运行命令:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.png
5、运行成功后会返回地址: group1/M00/00/00/wKhug2WuHXyAdCRyAAGH0H7v6LU839.jpg
6、浏览器测试
注意:
需要首先关闭防火墙
1:查看防火状态
systemctl status firewalld
2:暂时关闭防火墙
systemctl stop firewalld
3:永久关闭防火墙
systemctl disable firewalld
4:重启防火墙
systemctl enable firewalld
或者开放相应的端口
firewall-cmd --zone=public --permanent --add-port=23000/tcp
firewall-cmd --zone=public --permanent --add-port=22122/tcp
firewall-cmd --zone=public --permanent --add-port=8874/tcp
firewall-cmd --reload
其中如果是阿里云,需要在安全组规则中添加相应的端口
其他补充:
docker container update --restart=always tracker //开机启动 docker
container update --restart=always storage //开机启动
可以在重启docker的时候自行启动