【DOCKER+FDFS上传图片ERROR】无法获取服务端连接资源:can not create connection to /10.111.114.6:23000] with root cause.

【Spring Boot集成DOCKER+FDFS上传图片ERROR】无法获取服务端连接资源:can't create connection to/10.111.114.6:23000] with root cause.

前言

同事想要一套fdfs环境,但是公司要求相关服务只能装在docker容器中,且对容器的创建样式有一定要求,于是我毅然决然地开始了踩坑之路,特此记录。

容器创建

下载镜像:

docker image pull delron/fastdfs

使用docker-compose.yml,其中docker compose明细如下:

version: '2.2'
services:
  fastdfs_server2:
    image: docker.io/delron/fastdfs
    container_name: fastdfs_server2
    hostname: fastdfs-server2
    volumes:
    - ../fastdfs:/opt/fastdfs
    cpus: 1
    mem_limit: 2G
    privileged: true
   # command:
    #- bash
    #- -c
    #- 'tail -f /dev/null'
    environment:
      TRACKER_SERVER: "10.111.114.6:22122"
    ports:
    - 5005:8888
    - 5006:22122
    - 23000:23000
    networks:
      20190116_aidata_network:
        ipv4_address: 10.111.114.6
networks:
  20190116_aidata_network:
    external: true

启动容器后,本地上传文件是成功的,相关命令如下:

 docker exec -it fastdfs_server2 /bin/bash;
 # 上传命令
 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/fastdfs/播求.jpg;

根据访问返回上传地址拼接宿主机IP访问相应的url:
在这里插入图片描述
OK,很完美是不是?
接下来用SpringBoot集成一下,测试一下增删改查(坑来了)。

  • 这里说明一下,因为有定制需求,我的docker_compose.yml创建出来后会有command内的命令失效(不执行)现象,问题点我也定位到了,是因为有个启动脚本最后一句是"tail -f “$FASTDFS_LOG_FILE” ",导致进程卡住无法往后执行命令,所以我对容器本身做了一些定制化修改,主要的修改内容是/usr/bin/start1.sh脚本,目的是在进程卡死之前执行一些我想执行的操作,然后把这个版本保存为镜像(方便以后使用),我贴一下修改后的start1.sh代码:
#!/bin/bash
#set -e

if [ "$1" = "monitor" ] ; then
  if [ -n "$TRACKER_SERVER" ] ; then  
    sed -i "s|tracker_server=.*$|tracker_server=${TRACKER_SERVER}|g" /etc/fdfs/client.conf
  fi
  fdfs_monitor /etc/fdfs/client.conf
  exit 0
elif [ "$1" = "storage" ] ; then
  FASTDFS_MODE="storage"
  sed -i "s|store_path0.*$|store_path0=/var/fdfs|g" /etc/fdfs/mod_fastdfs.conf
  sed -i "s|url_have_group_name =.*$|url_have_group_name = true|g" /etc/fdfs/mod_fastdfs.conf
  /usr/local/nginx/sbin/nginx
else 
  FASTDFS_MODE="tracker"
fi

if [ -n "$PORT" ] ; then  
sed -i "s|^port=.*$|port=${PORT}|g" /etc/fdfs/"
  • 15
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值