1.查找Docker Hub上的fastdfs镜像:
#查找fastdfs镜像
docker search fastdfs
#拉取最新版本
docker pull delron/fastdfs
#查看镜像
docker images
2.使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用)
docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs tracker
注意: TRACKER_SERVER=本机的ip地址:22122 本机ip地址不要使用127.0.0.1
使用docker镜像构建storage容器(存储服务器,提供容量和备份服务)
docker run -dti --network=host --name storage -e TRACKER_SERVER=192.168.56.1:22122 -v /var/fdfs/storage:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs storage
开启开机启动容器(可配可不配)
docker update --restart=always tracker
docker update --restart=always storage
如果ip设置错了,请删除容器之后再重新构建
3.配置fastdfs
storage、tracker两个容器启动成功后
进入storage容器:
docker exec -it storage /bin/bash
可以看到进入到nginx里面去了,storage镜像自身集成了nginx。
进入到cd /etc/fdfs,修改storage.conf
cd/etc/fdfs
vi storage.conf
--------------------------以下是storage.conf文件--------------------------
# is this config file disabled
# false for enabled
# true for disabled
# 这个是要新添加上去的,其他的不用动
http.server_port=8888
disabled=false
# the name of the group this storage server belongs to
#
# comment or remove this item for fetching from tracker server,
# in this case, use_storage_id must set to true in tracker.conf,
# and storage_ids.conf must be configed correctly.
group_name=group1
# bind an address of this host
# empty for bind all addresses of this host
bind_addr=
# if bind an address of this host when connect to other servers
# (this storage server as a client)
# true for binding the address configed by above parameter: "bind_addr"
# false for binding any address of this host
client_bind=true
......以下省略
--------------------------以上是storage.conf文件--------------------------
5、配置nginx
进入容器查看storage:
[root@VM-8-7-centos logs]# docker exec -it storage /bin/bash
在/usr/local/nginx/conf目录下,修改nginx.conf文件
cd /usr/local/nginx/conf
vi nginx.conf
--------------------------以下是nginx.conf文件--------------------------
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
--------------------------以上是nginx.conf文件--------------------------
配置完成!
需要注意的是,storage默认端口为8888,如果你的服务器中8888端口已经被占用,需要在
storage.conf文件中修改http.server_port=8888,且在nginx.conf文件中也要将server listen 8888进行修改