1.查看fastdfs的镜像
docker search fastdfs
2.拉取镜像
docker pull delron/fastdfs
这个版本的镜像是比较全的,含有fastdfs以及nginx以及其相关的配置。
3.启动tracker服务
docker run -d --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
4.启动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
5.查看启动后的状态
6.修改nginx端口(这里默认是8888)–也可以不修改
这里以修改为8874为例子:
- 6.1.进入storage容器:docker exec -it storage bash
- 6.2.修改storage内部http.server_port:
vi /etc/fdfs/storage.conf
,可以看到在最后一行 http.server_port=8888,将其改成为http.server_port=8874即可。 - 6.3.因为修改了storage,所以还需要修改nginx,保持一致:vi /usr/local/nginx/conf/nginx.conf,然后将其内部的 server {
listen 8888; …} 改成 server {
listen 8874; …} - 6.4.命令退出:exit
7.最后需要重启容器:
docker restart storage
8.测试是否配置成功
- 1.拷贝一个txt文件到目录/var/fdfs/tracker/storage
- 2.进入storage容器:docker exec -it 953f982bd474 bash
进入fdfs目录:cd /var/fdfs
运行命令:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.png
运行成功后会返回地址: group1/M00/00/00/rBFYll7Qw7uAPuhdAAAABncc3SA243.txt
9.浏览器测试
10注意:
需要首先关闭防火墙
-
1:查看防火状态
systemctl status firewalld
service iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service iptables stop
3:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
4:重启防火墙
systemctl enable firewalld
service iptables restart
5:永久关闭后重启
//暂时还没有试过
chkconfig iptables on
或者开放相应的端口
- 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
其中如果是阿里云,需要在安全组规则中添加相应的端口
11补充:
- docker container update --restart=always tracker //开机启动 docker
container update --restart=always storage //开机启动
可以在重启docker的时候自行启动
https://www.cnblogs.com/prince5460/p/11870115.html
https://www.cnblogs.com/jxldjsn/p/10794171.html
https://blog.csdn.net/dsh153/article/details/100083012