Docker安装fastdfs

一、安装环境

  最近想升级fastdfs的版本,主要是因为旧版本版本在配置nginx module的时候提示需要升级版本才能使用。然而升级在升级之前,又需要升级libfastcommon,过程繁琐,libfastcommon跟fdfs的版本不匹配导致升级失败。
  新版本的fdfs支持了docker部署,所以想着使用docker部署的方式,隔离主机环境。
  环境配置如下:

宿主机器 centos7
fastdfs 6.06

二、安装步骤

1、制作镜像

  下载最新版本的fdfs(V6.06),查看Dockerfile,使用docker命令下载基础镜像。

#下载最新版本fdfs
git clone https://github.com/happyfish100/fastdfs.git
#加载基础镜像
docker pull centos:7

  源码目录下,支持使用本地源码制作镜像(dockerfile_local),以及远程下载源码制作镜像(dockerfile_network)。
在这里插入图片描述
  进入源码目录,开始制作fdfs的镜像,本次使用dockerfile_network的Dockerfile制作镜像,命令:

docker build -t fastdfs:6.06 .

Docker安装fastdfs_第1张图片
  然后启动镜像:

#docker run -d -e FASTDFS_IPADDR=192.168.1.234 -p 8888:8888 -p 22122:22122 -p 23000:23000 -p 8011:80 --name test-fast 镜像id/镜像名称
docker run -d --name fastdfs -e FASTDFS_IPADDR=192.168.48.128 -p 22122:22122 -p 23000:23000 -p 8888:8888 -p 8011:80 -v /usr/local/fastdfs/:/home/dfs fastdfs:6.06

在这里插入图片描述
  至此,fdfs启动完成。

三、遇到的问题

  启动完fdfs后,容器内部能正常上传,但是在容器外上传会发现访问172.17.0.1:23000 ip端口不同。这是由iptables转发引起的,在宿主机器上配置iptables规则然后重启容器即可解决问题。

iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 22122 -d 172.17.0.2 -j SNAT --to 192.168.48.128

  这个问题我花了很多时间,最后在这篇博客中找到处理方案
https://www.cnblogs.com/zzsdream/p/11199374.html

你可能感兴趣的:(Docker,Fastdfs,IT技术分享)