Linux下安装docker并安装fastDfs

Linux下安装docker并安装fastDfs

1、安装docker命令
yum install docker
2、拉取镜像
docker pull delron/fastdfs #拉取最新版本
3、查看镜像
docker images #查看镜像
4.使用docker镜像构建tracker容器

(跟踪服务器,起到调度的作用)

docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs tracker
5.使用docker镜像构建storage容器

(存储服务器,提供容量和备份服务):

docker run -dti  --network=host --name storage -e TRACKER_SERVER=公网IP:22122 -v /var/fdfs/storage:/var/fdfs  -v /etc/localtime:/etc/localtime  delron/fastdfs storage

#TRACKER_SERVER=本机的ip地址:22122 本机ip地址不要使用127.0.0.1
6、配置访问端口

进入storage容器,到storage的配置文件中配置http访问的端口,配置文件在/etc/fdfs目录下的storage.conf。

docker exec -it 容器Id /bin/bash

默认端口8888

7、配置nginx
 server {
        listen       8888;
        server_name  localhost;
        
        location ~/group[0~9]/ {
            ngx_fastdfs_module;
        }
        #error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }        
    }

8、进入本机storage目录
cd /var/fdfs/storage

此时在storage目录下存放的文件将挂载到对应的storage服务存储中

9、测试

将一张照片(test.txt)放置在/var/fdfs/storage目录下,进入storage容器,

docker exec -it storage容器Id /bin/bash

进入/var/fdfs目录,运行下面命令:

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.txt

此时返回文件Id

通过访问

http://公网IP:8888/group1/M00/00/00/文件Id

回得到test.txt文件

10、开启启动容器
docker update --restart=always tracker

docker update --restart=always storage
11、常见错误解决方案

错误

ERROR - file: connection_pool.c, line: 130, connect to 主机IP:22122 fail, errno: 110, error info: Connection timed out

方案一:

开放端口

firewall-cmd --zone=public  --permanent --add-port=8888/tcp

firewall-cmd --zone=public  --permanent --add-port=22122/tcp

firewall-cmd --zone=public  --permanent --add-port=23000/tcp

重启防火墙

systemctl restart firewalld

方案二:

关闭防火墙

sudo systemctl stop firewalld.service

关闭开机启动

sudo systemctl disable firewalld.service

你可能感兴趣的:(Linux)