docker下安装FastDFS环境搭建

2022/3/15 FastDFSdocker

# 安装fastDFS

docker network create fastdfs-net

docker run -dit -p 22122:22122 --network=fastdfs-net --name tracker -v /var/fdfs/tracker:/var/fdfs ygqygq2/fastdfs-nginx:latest tracker

docker run -dit -p 23000:23000 --network=fastdfs-net --name storage -e TRACKER_SERVER=114.215.69.73:22122 -v /var/fdfs/storage:/var/fdfs ygqygq2/fastdfs-nginx:latest storage
docker run -dit --network=fastdfs-net --name storage1 -e TRACKER_SERVER=tracker:22122 -v /var/fdfs/storage1:/var/fdfs ygqygq2/fastdfs-nginx:latest storage
1
2
3
4
5
6
docker run -dit --network=host --name tracker -v /var/fdfs/tracker_1:/var/fdfs delron/fastdfs tracker

docker run -dit --network=host --name storage -e TRACKER_SERVER=114.215.69.73:22122 -v /var/fdfs/storage_1:/var/fdfs delron/fastdfs storage
1
2
3

# 扩展映射端口

操作有以下几步:

  • 查看容器

  • 修改之前先停掉docker

  • 修改hostconfig.json

  • 修改config.v2.json

  • 修改完之后启动docker

    # 具体实施

  • 查看容器

docker ps -a
1
  • 修改之前先停掉docker
systemcel stop docker
1
  • 修改hostconfig.json 在 /var/lib/docker/containers/[容器ID]/下找到hostconfig.json

找到映射IP的位置PortBindings,复制一个已映射的IP,修改为自己需要的就好

"PortBindings": {
    "888/tcp": [
      {
        "HostIp": "",
        "HostPort": "888"
      }
    ],
    "21/tcp": [
      {
        "HostIp": "",
        "HostPort": "21"
      }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  • 修改config.v2.json 在 /var/lib/docker/containers/[容器ID]/下找到config.v2.json

修改 ExposedPorts和Ports

"ExposedPorts": {
  "888/tcp": {},
  "21/tcp": {}
}


"Ports": {
    "888/tcp": [
        {
          "HostIp": "0.0.0.0",
          "HostPort": "888"
        }
    ],
    "21/tcp": [
        {
          "HostIp": "0.0.0.0",
          "HostPort": "21"
        }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  • 修改完之后启动docker
systemctl start docker
1

# docker下fastDFS说明

  • docker安装完fastDFS后就是直接可以使用的fastDFS,不需要再进行其他配置
  • docker的fastDFS容器(storage和tracker)内部有nginx,做了端口映射
  • storage 配置
/*进入容器*/
docker exec -it storage /bin/bash
/*打开nginx配置*/
cd /etc/fdfs
/*查看下面文件*/
ls
/*编辑storage.conf*/
vi storage.conf
1
2
3
4
5
6
7
8

# 其他说明

# 添加iptables转发

iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 22122 -d 172.18.0.3 -j SNAT --to-source 192.168.0.154
# 查看
iptables -L -t nat|grep 22122
1
2
3
  • -t nat 操作nat表
  • -A 添加 (如果删除则是-D)
  • POSTROUTING 路由解析之后
  • -p 协议
  • -m 扩展协议
  • --dport 目的端口
  • -d 目的地址 (-s 源地址)
  • -j 指定要进行的处理动作
    • DROP:丢弃
    • REJECT:明示拒绝
    • ACCEPT:接受
    • SNAT: 基于原地址的转换
  • -to 要转换的原地址

# 查看tracker注册storage

docker exec -it tracker /bin/bash
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
1
2
留言:
    更新日期: 2022/4/27 下午2:27:30