docker中安装fastdfs

首先需要创建两个文件夹用于存放数据

mkdir -p /usr/local/docker/fdfs/storage
mkdir -p /usr/local/docker/fdfs/tracker
1. 获取docker镜像
[root@admin local]# docker pull delron/fastdfs
Using default tag: latest
latest: Pulling from delron/fastdfs
469cfcc7a4b3: Pull complete 
4b4f08bd0171: Pull complete 
95eef9978b96: Pull complete 
aff83d00c747: Pull complete 
1e95dffa1075: Pull complete 
f114184ac28c: Pull complete 
649b2ad6afe2: Pull complete 
8ab2127a38c5: Pull complete 
4d12f9bd27c7: Pull complete 
bfc05d82f0a6: Pull complete 
76f2a6d84a19: Pull complete 
89bd9c4e6fea: Pull complete 
6c06548e40ac: Pull complete 
11186700b494: Pull complete 
Digest: sha256:9583cb80170c153bc12615fd077fe364a8fd5a95194b7cf9a8a32d2c11f8a49d
Status: Downloaded newer image for delron/fastdfs:latest
docker.io/delron/fastdfs:latest
2.创建tracker容器
docker run -d --network=host --name tracker -v /usr/local/docker/fdfs/tracker:/var/fdfs delron/fastdfs tracker
3.创建storage容器
docker run -d --network=host --name storage -e TRACKER_SERVER=192.168.80.128:22122 -v /usr/local/docker/fdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage

完成后使用netstat -aon | grep 22122查看端口占用情况
在这里插入图片描述

4.配置nginx端口(如果不需要修改的可以跳过)
## 进入storage
docker exec -it storage bash
## 编辑端口(默认为8888,如不需要修改可以跳过,如果bash: vim: command not found 使用 
## yum install vim 安装后执行)
vim /etc/fdfs/storage.conf
## 修改nginx的端口(与上面保存一致即可)
vi /usr/local/nginx/conf/nginx.conf
## 如果修改后,退出容器重启下storage
docker restart storage
## 查看tracker容器和storage容器的关联
cd /etc/fdfs/
[root@admin fdfs]# ls
client.conf         mime.types        storage.conf.sample      tracker.conf
client.conf.sample  mod_fastdfs.conf  storage_ids.conf         tracker.conf.sample
http.conf           storage.conf      storage_ids.conf.sample
## 查看关系
fdfs_monitor storage.conf

在这里插入图片描述

5.模拟上传

在/usr/local/docker/fdfs/storage中上传一个文件1.png,进入storage容器

## 进入storage容器
docker exec -it storage bash
## 进入fdfs目录
cd /var/fdfs
## ll就可以看见那个文件,没有就是路径错误或者没有上传上去
[root@admin fdfs]# ll
total 164
-rw-r--r--.   1 root root 153070 Apr  2 05:29 1.png
drwxr-xr-x. 259 root root   8192 Apr  2 08:31 data
drwxr-xr-x.   2 root root     25 Apr  2 08:31 logs
## 上传文件
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.png
## 成功后返回
group1/M00/00/00/wKhQgF6FptGALpuFAAJV7nnaW2k051.png

有返回的数据后,通过ip+端口+返回内容即可访问
如果访问不到,考虑防火墙开启,需要将8888,22122,23000加入通行端口后重启防火墙。

## 查看防火墙状态
[root@admin tracker_data]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2020-04-02 11:45:43 CST; 5h 8min ago
 Main PID: 916 (firewalld)
   Memory: 484.0K
   CGroup: /system.slice/firewalld.service
           └─916 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
## 将8888,22122,23000加入通行端口
[root@admin tracker_data]# firewall-cmd --zone=public  --permanent --add-port=8888/tcp
success
[root@admin tracker_data]# firewall-cmd --zone=public  --permanent --add-port=22122/tcp
success
[root@admin tracker_data]# firewall-cmd --zone=public  --permanent --add-port=23000/tcp
success
## 重启防火墙
[root@admin tracker_data]# systemctl restart firewalld
6.开启开机启动容器
docker update --restart=always tracker
docker update --restart=always storage
7.开启多个storage

由于镜像是将nginx内置了,所以需要配置将nginx的端口修改为其他的。
首先先建一个storage1文件夹,用于存放另一个storage的数据。

## 创建新的文件夹存储数据
mkdir -p /usr/local/docker/fdfs/storage1
## 创建storage1容器 主要名字,group1可以修改为group2也可以不锈钢
docker run -d --network=host --name storage1 -e TRACKER_SERVER=192.168.80.128:22122 -v /usr/local/docker/fdfs/storage1:/var/fdfs -e GROUP_NAME=group2 delron/fastdfs storage
## 进入storage1容器
docker exec -it storage1 bash

修改storage.cnf

## 1.需要将端口修改为8889,不能与之前的storage一样,但是需要与下面要修改nginx的端口一致
## 2.需要将端口23000修改为23001,否则启动会冲突,且
vim /etc/fdfs/storage.conf
## 修改内容
http.server_port=8889
port=23001

修改nginx的端口

## 修改nginx的端口,这里需要与storage.conf中的http.server_port一致
vim /etc/fdfs/nginx.conf

修改mod_fastdfs.conf中内容

## 需要将storage_server_port=23000修改为23001
vim /etc/fdfs/mod_fastdfs.conf
## 修改如下内容
storage_server_port=23001

完成后重启即可

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值