Docker fastdfs 【单机】
系统环境
- centos7.2
- docker 1.13.1
- 宿主机ip:192.168.99.149
fastdfs 搭建
1.拉取fastdfs 镜像
docker pull season/fastdfs
2.创建调度服务(tracker)容器
docker run -ti -d --privileged=true --name tracker -v ~/tracker_data:/fastdfs/tracker/data --net=host season/fastdfs tracker
结果:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3e4d1b4ac1f9 season/fastdfs "/entrypoint.sh tr..." 40 seconds ago Up 39 seconds tracker
- 默认端口:22122
3.创建存储服务(storage)容器
注意修改ip地址
docker run -ti -d --privileged=true --name storage -v ~/storage_data:/fastdfs/storage/data -v ~/store_path:/fastdfs/store_path --net=host -e TRACKER_SERVER=192.168.99.149:22122 season/fastdfs storage
结果:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ffdec95d9452 season/fastdfs "/entrypoint.sh st..." 15 seconds ago Up 15 seconds storage
4.查看端口监听
netstat -unltp | grep fdfs
结果:
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 14535/fdfs_trackerd
tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 14909/fdfs_storaged
5.服务监听测试
docker exec -it storage /bin/bash -c '/usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf'
结果:
...此处省略
tracker server is 192.168.99.149:22122
group count: 1
Group 1:
group name = group1
....此处省略
Storage 1:
id = 192.168.99.149
ip_addr = 192.168.99.149 ACTIVE
....此处省略
6.上传测试
- 创建测试文件 abc.txt
echo 'love'>>abc.txt
- 将abc.txt 复制到 tracker 容器中
docker cp abc.txt tracker:/
- 创建 test.conf(客户端配置文件)
vim test.conf
内容:(注意修改ip地址)
connect_timeout=30
network_timeout=60
base_path=/home
tracker_server=192.168.99.149:22122
log_level=info
use_connection_pool = false
connection_pool_max_idle_time = 3600
load_fdfs_parameters_from_tracker=false
use_storage_id = false
storage_ids_filename = storage_ids.conf
http.tracker_server_port=80
- 将test.conf 复制到 trakcer 容器中
docker cp test.conf tracker:/
- 上传abc.txt文件
docker exec -it tracker /bin/bash -c '/usr/local/bin/fdfs_upload_file /test.conf /abc.txt'
结果:
group1/M00/00/00/wKhjlVvx5gSAAYGJAAAABYOEB2g289.txt
- 查看上传结果
cat store_path/data/00/00/wKhjlVvx5gSAAYGJAAAABYOEB2g289.txt
结果:
love
搭建并测试完成end