最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker部署minio并使用springboot連接的操作方法

 更新時(shí)間:2023年11月02日 10:41:39   作者:[奸笑]這個(gè)不是斜眼笑[奸笑]  
這篇文章主要介紹了docker部署minio并使用springboot連接的操作方法,本文以minio為例結(jié)合實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下

需求:工作中,在微信小程序播放時(shí),返回文件流并不能有效的使用,前端需要一個(gè)可以訪問(wèn)的地址,springboot默認(rèn)是有資源攔截器的,但是不適合生產(chǎn)環(huán)境的使用

可以提供使用的有例如fastdfs或者minio,這里以minio為例

環(huán)境

軟件版本
docker24.0.4
minioRELEASE.2023-10-24T05-18-28Z (commit-id=97cc12fdc539361cf175ffc2f00480eec0836d82)

minio安裝

docker命令

docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio 
--restart=always 
--privileged=true \
-v /home/minio/data:/data \
-e "MINIO_ROOT_USER=user" \
-e "MINIO_ROOT_PASSWORD=password" \
minio/minio server /data 
--console-address ":9001"

開(kāi)啟linux防火墻

centos開(kāi)啟防火墻

開(kāi)啟端口

sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent

重啟防火墻

sudo firewall-cmd --reload

打開(kāi)瀏覽器訪問(wèn) ip:9001

看到此頁(yè)面即為成功

springboot整合minio

pom.xml

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.0</version>
</dependency>
<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>8.5.6</version>
    <exclusions>
        <exclusion>
            <artifactId>okhttp</artifactId>
            <groupId>com.squareup.okhttp3</groupId>
        </exclusion>
    </exclusions>
</dependency>

 配置類(lèi)

@Configuration
public class MinioConfig {
    @Value("${minio.endpoint}")
    private String endpoint;
    @Value("${minio.accessKey}")
    private String accessKey;
    @Value("${minio.secretKey}")
    private String secretKey;
    @Bean
    public MinioClient minioClient(){
        return
                MinioClient.builder()
                        .endpoint(endpoint)
                        .credentials(accessKey, secretKey)
                        .build();
    }
}

文件上傳的工具類(lèi)

@Slf4j
public class MinioUtils {
    public static String uploadFile(MinioClient minioClient, InputStream inputStream, String bucket, String filename) {
        try {
            boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket("public").build());
            if (!found) {
                minioClient.makeBucket(MakeBucketArgs.builder().bucket("public").build());
            }
            ObjectWriteResponse response = minioClient.putObject(
                    PutObjectArgs
                            .builder()
                            .bucket(bucket)
                            .object(filename)
                            .stream(inputStream, inputStream.available(), -1)
                            .contentType(InferStatusConstant.WAV_CONTENT_TYPE)
                            .build()
            );
            String url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
                            .bucket(bucket)
                            .expiry(7 * 24 * 60 * 60)
                            .object(filename)
                            .method(Method.GET)
                            .build());
            log.info("分享地址:" + url);
            return url;
        } catch (ErrorResponseException | InsufficientDataException | InternalException | InvalidKeyException |
                 InvalidResponseException | IOException | NoSuchAlgorithmException | ServerException |
                 XmlParserException e) {
            throw new RuntimeException(e);
        }
    }
}

 測(cè)試類(lèi):

@Test
public void uploadFileToMinio() {
    try (FileInputStream stream = new FileInputStream("/path/to/file")) {
        String url = MinioUtils.uploadFile(minioClient, stream, "test", "/test/test1.wav");
        System.out.println(url);
    } catch (Exception e) {
    }
}

遇到的一些問(wèn)題  運(yùn)行springboot的測(cè)試類(lèi)沒(méi)有上傳,debug之后顯示s3 api requests must be made to api port.

解決方案:

進(jìn)入docker

docker exec -it minio bash

進(jìn)入后,查看信息

mc config host ls

找到自己的服務(wù),我的為localhost,查看下方的url等信息均不對(duì),移除當(dāng)前服務(wù)

mc config host remove 服務(wù)名

添加新的服務(wù),注意url信息,注意端口

mc config host add 服務(wù)名 http://IP:9000 user password --api S3v4

不需要重啟,重新運(yùn)行測(cè)試代碼,發(fā)現(xiàn)運(yùn)行成功

在使用的過(guò)程中生成分享連接為127.0.0.1/XXXXXXX

解決方案同上,修改自己的ip

到此這篇關(guān)于docker部署minio并使用springboot連接的文章就介紹到這了,更多相關(guān)docker部署minio內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker容器連接實(shí)現(xiàn)步驟解析

    Docker容器連接實(shí)現(xiàn)步驟解析

    這篇文章主要介紹了Docker容器連接實(shí)現(xiàn)步驟解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 解決Docker daemon啟動(dòng)問(wèn)題

    解決Docker daemon啟動(dòng)問(wèn)題

    這篇文章主要介紹了解決Docker daemon啟動(dòng)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Docker使用數(shù)據(jù)容器的具體示例

    Docker使用數(shù)據(jù)容器的具體示例

    本文主要介紹了Docker使用數(shù)據(jù)容器的具體示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 教你如何利用docker-maven-plugin自動(dòng)化部署

    教你如何利用docker-maven-plugin自動(dòng)化部署

    本文通過(guò)兩個(gè)例子給大家講解如何利用docker-maven-plugin自動(dòng)化部署,給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-09-09
  • 查看當(dāng)前docker容器使用的cpu數(shù)量的方法

    查看當(dāng)前docker容器使用的cpu數(shù)量的方法

    Docker容器CPU使用數(shù)量可通過(guò)三種方法查看:容器內(nèi)用lscpu/nproc查看核心數(shù),宿主機(jī)用docker inspect查CpusetCpus限制,實(shí)時(shí)用docker stats監(jiān)控使用率,下面小編給大家詳細(xì)說(shuō)說(shuō),需要的朋友可以參考下
    2025-05-05
  • Docker Desktop搭建RocketMQ的圖文步驟

    Docker Desktop搭建RocketMQ的圖文步驟

    RocketMQ支持發(fā)布/訂閱模式和點(diǎn)對(duì)點(diǎn)模式,可以根據(jù)業(yè)務(wù)需求選擇合適的消息模式,本文主要介紹了Docker Desktop搭建RocketMQ的圖文步驟,感興趣的可以了解一下
    2024-02-02
  • 詳解Docker 容器跨主機(jī)多網(wǎng)段通信解決方案

    詳解Docker 容器跨主機(jī)多網(wǎng)段通信解決方案

    這篇文章主要介紹了Docker 容器跨主機(jī)多網(wǎng)段通信解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Docker 網(wǎng)絡(luò)模式及配置方式

    Docker 網(wǎng)絡(luò)模式及配置方式

    這篇文章主要介紹了Docker 網(wǎng)絡(luò)模式及配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 使用Docker部署Spring Boot的應(yīng)用示例

    使用Docker部署Spring Boot的應(yīng)用示例

    這篇文章主要介紹了使用Docker部署Spring Boot的應(yīng)用示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • IDEA集成Docker實(shí)現(xiàn)打包的方法

    IDEA集成Docker實(shí)現(xiàn)打包的方法

    本文主要介紹了IDEA集成Docker實(shí)現(xiàn)打包的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評(píng)論

西丰县| 百色市| 河东区| 游戏| 宜都市| 安丘市| 化州市| 宣城市| 综艺| 亚东县| 陆河县| 安溪县| 商城县| 临湘市| 醴陵市| 林西县| 乌海市| 伊川县| 宁陕县| 民县| 高淳县| 长乐市| 静宁县| 花垣县| 阿克| 仁布县| 藁城市| 寻乌县| 北京市| 平山县| 手机| 静宁县| 新竹县| 兰考县| 浏阳市| 湘潭市| 长垣县| 新龙县| 梁河县| 固始县| 清新县|