fastdfs编译升降版本
原fastdfs版本

源码编译

docker run -d --restart=always --privileged=true --net=host --name=fastdfs5 -e FASTDFS_IPADDR=10.40.17.249 -e WEB_PORT=8080 -v /data/fdfs/fastdfs:/home/fdfs registry.harbor.com:58443/library/fastdfs-6
docker cp -a fastdfs-5.11 1c877e0a2b5a:/usr/local/src/

docker exec -ti fastdfs5 /bin/bash
rm -fr /usr/local/src/fastdfs-5.11/storagefd/fdfs_storaged rm -fr /usr/local/src/fastdfs-5.11/tracker/fdfs_trackerd cd /usr/local/src/fastdfs-5.11/ ./make.sh clean #删除原来的缓存文件 ./make.sh #编译生成对应的可执行文件(/usr/local/src/fastdfs-5.11/tracker/fdfs_trackerd) ./make.sh install #把编译好的可执行文件拷贝到对应的系统调用目录(/usr/bin/fdfs_trackerd) /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart fdfs_monitor /etc/fdfs/storage.conf
docker commit 1c877e0a2b5a registry.harbor.com:58443/library/fastdfs-5.11
docker push registry.harbor.com:58443/library/fastdfs-5.11

docker pull onlyonelmm/fastdfs-arm64 docker run -d --restart=always --privileged=true --net=host --name=fastdfs -e FASTDFS_IPADDR=10.40.17.249 -e WEB_PORT=8080 -v /data/fdfs/fastdfs:/home/fdfs registry.harbor.com:58443/library/fastdfs:v3 /usr/local/nginx/sbin/nginx 修改原来镜像中的nginx.conf include /usr/local/nginx/conf/conf.d/*.conf; cd /usr/local/src/nginx-1.15.4/ 在原来镜像启动的容器重新编译nginx使nginx支持ssl设置 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/usr/local/src/fastdfs-nginx-module/src/ make && make install include /usr/local/nginx/conf/conf.d/*.conf; /usr/local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx -s reload docker run -d --restart=always --privileged=true --net=host --name=fastdfs5 -e FASTDFS_IPADDR=10.40.17.249 -e WEB_PORT=8080 -v /data/fdfs/fastdfs:/home/fdfs registry.harbor.com:58443/library/fastdfs-6 docker cp -a fastdfs-5.11 1c877e0a2b5a:/usr/local/src/ rm -fr /usr/local/src/fastdfs-5.11/storagefd/fdfs_storaged rm -fr /usr/local/src/fastdfs-5.11/tracker/fdfs_trackerd cd /usr/local/src/fastdfs-5.11/ ./make.sh clean #删除原来的缓存文件 ./make.sh #编译生成对应的可执行文件(/usr/local/src/fastdfs-5.11/tracker/fdfs_trackerd) ./make.sh install #把编译好的可执行文件拷贝到对应的系统调用目录(/usr/bin/fdfs_trackerd) /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart fdfs_monitor /etc/fdfs/storage.conf docker commit 1c877e0a2b5a registry.harbor.com:58443/library/fastdfs-5.11 docker push registry.harbor.com:58443/library/fastdfs-5.11

使用镜像



fastdfs编译版本部署完成
fastdfs-nginx-module编译部署

docker run -ti --restart=always --privileged=true registry.harbor.com:58443/library/fastdfs-5.11 /bin/bash docker cp -a fastdfs-nginx-module-1.20 aa06a43b5c76:/usr/local/src/ cd /usr/local/src/nginx-1.15.4/ ./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/usr/local/src/fastdfs-nginx-module-1.20/src/ make && make install /usr/local/nginx/sbin/nginx -V docker commit aa06a43b5c76 registry.harbor.com:58443/library/fastdfs-5.11:v2 docker push registry.harbor.com:58443/library/fastdfs-5.11:v2



编译结束
动态修改容器IP
1.查看启动脚本 /home/fastdfs_start.sh
这个脚本中对三个服务的配置文件的ip进行动态修改替换
new_fastdfs_ipaddr=$FASTDFS_IPADDR
old_fastdfs_ipaddr="192.168.0.165"
new_web_port=$WEB_PORT
old_web_port="8888"
镜像中的client.conf storage.conf mod_fastdfs.conf 三个文件配置的tracker_server=192.168.0.165:22122
否则在镜像启动为具体容器的时候执行fastdfs_start.sh由于sed无法匹配到old_fastdfs_ipaddr内容
导致没法动态配置tracker_server造成fastdfs上传下载文件异常
sed -i "s/$old_fastdfs_ipaddr/$new_fastdfs_ipaddr/g" /etc/fdfs/client.conf
sed -i "s/$old_fastdfs_ipaddr/$new_fastdfs_ipaddr/g" /etc/fdfs/storage.conf
sed -i "s/$old_fastdfs_ipaddr/$new_fastdfs_ipaddr/g" /etc/fdfs/mod_fastdfs.conf

2.查看服务启动日志
/home/fastdfs/logs

修改并成功启动服务,测试文件可以正常上传下载
本文来自博客园,作者:不懂123,转载请注明原文链接:https://www.cnblogs.com/yxh168/p/19227844
浙公网安备 33010602011771号