Docker安装FastDFS

拉取镜像

docker pull season/fastdfs:1.2

启动Tracker

docker run -ti -d --name trakcer -v /opt/fastdfs/tracker_data:/fastdfs/tracker/data --net=host season/fastdfs:1.2 tracker

启动Storage

注意替换{ipaddress}

docker run -ti -d --name storage -v /opt/fastdfs/storage_data:/fastdfs/storage/data -v /opt/fastdfs/store_path:/fastdfs/store_path --net=host -e TRACKER_SERVER:{ipaddress}:22122 season/fastdfs:1.2 storage

修改配置文件

vim的目录为cp后的目录,如我的目录为/usr/local/fastdfs/conf
将配置文件中下面的参数替换为自己相应的ip即可

docker cp storage:/fdfs_conf/. /usr/local/fastdfs/conf

vim tracker.conf
bind_addr=${ipaddress}

vim storage.conf
tracker_server=${ipaddress}:22122

vim client.conf
tracker_server=${ipaddress}:22122

#将修改完的配置文件cp回镜像中
docker cp /usr/local/fastdfs/conf/. storage:/fdfs_conf

#重启storage服务
docker restart storage

配置Nginx

在storage服务中将nginx.conf和mod_fastdfs.conf挂载出来

#nginx.conf配置文件中添加
location /group1/M00 {
            #root   /fastdfs/store_path/data;
            ngx_fastdfs_module;
}

#在server里面配置跨域配置跨域  在server里面
add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Credentials' 'true';
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
    add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';

#mod_fastdfs.conf中添加
url_have_group_name=true

启动Nginx

注意:启动nginx时需要将上一步挂载出来的nginx.conf和mod_fastdfs.conf映射路径,所以需要根据自己的路径来写,同时记得替换{ipaddress}参数

docker run -id --name fastdfs_nginx --restart=always -v /opt/fastdfs/store_path:/fastdfs/store_path -v /usr/local/fastdfs/nginx_conf/nginx.conf:/etc/nginx/conf/nginx.conf -v /usr/local/fastdfs/nginx_conf/mod_fastdfs.conf:/etc/fdfs/mod_fastdfs.conf -p 8888:80 -e GROUP_NAME=group1 -e TRACKER_SERVER={ipaddress}:22122 -e STORAGE_SERVER_PORT=23000 season/fastdfs:1.2 nginx

配置防火墙

firewall-cmd --zone=public --add-port=22122/tcp --permanent
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --zone=public --add-port=23000/tcp --permanent
firewall-cmd --reload

你可能感兴趣的:(容器docker)