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
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
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
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
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
2
3
4
5
6
7
8
- 主机访问docker下的fastDFS需要在自己的nginx做对应的端口映射
- 远程使用时报storage为内网地址问题 (opens new window)
- 或者使用network=host方式解决宿主主机问题 (opens new window)
# 其他说明
# 添加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
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
2
留言: