docker FastDFSの作成

2292 ワード

0.dockerホストLinuxオペレーティングシステムにインストールするには、macbookに問題があります.macbookで--net=hostモードを使用しても機能しません.CentOS仮想マシンをインストールして仮想マシンにdockerをインストールできます.
1.コンテナの作成
docker pull morunchang/fastdfs
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
docker run -d --name storage --net=host -e TRACKER_IP=172.16.200.153:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh

172.16.200.153はdockerシンクホストのIPであり、--net=hostモードを使用するため、docker trackerのIPとシンクホストのIPは同一であり、IPを単独で割り当てない
2.storage構成の変更
docker exec -it storage  /bin/bash

vi /data/nginx/conf/nginx.conf

location /group1/M00 {
   proxy_next_upstream http_502 http_504 error timeout invalid_header;
     proxy_cache http-cache;
     proxy_cache_valid  200 304 12h;
     proxy_cache_key $uri$is_args$args;
     proxy_pass http://fdfs_group1;
     expires 30d;
}

docker restart storage

3.テスト
SpringBootのテスト機能Aを使用する依存:

        org.csource
        fastdfs-client-java
        1.27-SNAPSHOT


B.fastdfsプロファイルfdfs_client.conf
connect_timeout = 600
network_timeout = 600
tracker_server = 172.16.200.153:22122

C.application.properties
spring.servlet.http.multipart.max-file-size=10MB
spring.servlet.http.multipart.max-request-size=10MB

D.テストコード
@Test
public void testdfs() throws IOException, MyException{
  ClientGlobal.init("/D/workspace/springcloudws/ws02/EpcData/fastdfsdemo/src/main/resources/fdfs_client.conf");
        TrackerClient trackerClient = new TrackerClient();
        TrackerServer trackerServer = trackerClient.getConnection();
        StorageServer storageServer = null;
        StorageClient storageClient = new StorageClient(trackerServer, storageServer);
        String[] strings = storageClient.upload_file("/D/car.jpg", "jpg", null);
        for (String str : strings) {
            System.out.println(str);
        }
    }

戻り結果:group 1/M 00/00/rBD ImVyixpuAX 1 cDABcgY 2 VaiuE 832.jpg
ブラウザに次のように入力します.http://172.16.200.153:8080/group1/M00/00/00/rBDImVyixpuAX1cDABcgY2VaiuE832.jpg
/D/carにアクセスします.jpg画像