う三余无梦生

No.5 dotnetcore&docker--采用Ambry做文件服务器

开始没有采用阿里云作为文件服务器,去网上找了一个叫做ambry的,安装起来,后来有问题没有解决,就改用了阿里云。问题就是在k8s集群里面,不确定如何保证他的数据以及如何完成数据迁移,因为没有深入研究他,加上时间紧凑,最便捷的动作就是改用阿里云oss。

 

一、在docker里面安装ambry服务

 

version: '2'
services:
  vhambryserver:
    image: amimimor/ambry:latest
    container_name: vhambryserver
    hostname: vhambryserver
    #networks:
    # vhnet:
    #   - ipv4_address: 172.22.0.2
    #ports:
    #- '16503:16503'
    #- '16503:6667'
    network_mode: vhnet
    restart: always
    volumes:
      - vm-ambry-server-tmp:/opt/ambry/tmp:rw
      - vm-ambry-server-logs:/opt/ambry/logs:rw
    environment: 
      - TZ=Asia/Shanghai
    command: ['--role=server']


  vhambryfe:
    image: amimimor/ambry:latest
    container_name: vhambryfe
    hostname: vhambryfe
    #networks:
    # vhnet:
    #   - ipv4_address: 172.22.0.2
    ports:
    - '61174:1174'
    network_mode: vhnet
    restart: always
    volumes:
      - vm-ambry-fe-tmp:/opt/ambry/tmp:rw
      - vm-ambry-fe-logs:/opt/ambry/logs:rw
    environment: 
      - TZ=Asia/Shanghai
      - DATA_CONTAINER_IP=vhambryserver
    command: ['--role=frontend']
    depends_on:
      - vhambryserver

  

 

代码里面的HttpClient 上传下载文件,这段代码有点问题,一直没有调整,会导致httpclient用尽。

 

代码下载

 

上传文件

bytes 是文件的二进制
PostFileRequest request = new PostFileRequest();
request.FileContent = bytes;
request.FileType = MimeMapping.GetMimeMappingByExtension(extension);

DefaultAmbryClient client = new DefaultAmbryClient(DFS_API);
PostFileResponse fileRes = client.Excete(request);

  

posted on 2020-04-23 17:24  う三余无梦生  阅读(221)  评论(0编辑  收藏  举报

导航