docker search minio/minio docker pull minio/minio [lastest] --最新版本
Docker中運行MinIO單點模式:
MinIO 須要一個持久捲來存儲配置和應用數據。不過, 若是隻是爲了測試一下, 您能夠經過簡單地傳遞一個目錄(在下面的示例中爲/ data
)啓動MinIO。這個目錄會在容器啓動時在容器的文件系統中建立,不過全部的數據都會在容器退出時丟失。java
docker run -d -p 9000:9000 --name minio-service minio/minio server /data
要建立具備永久存儲的MinIO容器,您須要將本地持久目錄從主機操做系統映射到虛擬配置~/.minio
並導出/data
目錄。 爲此,請運行如下命令;docker
docker run -p 9000:9000 --name minio-service -v /mnt/data:/data -v /mnt/config:/root/.minio minio/minio server /data
MinIO自定義Access和Secret密鑰:要覆蓋MinIO的自動生成的密鑰,您能夠將Access和Secret密鑰設爲環境變量。 MinIO容許常規字符串做爲Access和Secret密鑰app
docker run -d -p 9000:9000 --name minio-service -e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" -e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" minio/minio server /data
在容器中使用Docker命令, 你須要知道這個容器的 容器ID
。 爲了獲取 Container ID
, 運行ide
docker ps -a
工具
-a
flag 確保你獲取全部的容器(建立的,正在運行的,退出的),而後從輸出中識別Container ID
。測試
啓動容器,你能夠使用 docker start
命令。ui
docker start <container_id>
url
中止一下正在運行的容器, 使用 docker stop
命令。spa
docker stop <container_id>
操作系統
獲取MinIO日誌,使用 docker logs
命令。
docker logs <container_id>
監控MinIO容器使用的資源,使用 docker stats
命令.
docker stats <container_id>`
<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>3.0.10</version> </dependency>
minio: access-key: AKIAIOSFODNN7EXAMPLE secret-key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY bucket-name: test endpoint: http://127.0.0.1:9000
@Component @Slf4j public class MinioClientUtils { @Value("${minio.access-key}") private String accessKey; @Value("${minio.secret-key}") private String secretKey; @Value("${minio.bucket-name}") private String bucketName; @Value("${minio.endpoint}") private String endpoint; private MinioClient minioClient; /** * 上傳內容類型 */ private static final String CONTENT_TYPE = "application/octet-stream"; @PostConstruct public void init() { log.info("---初始化minio客戶端---"); try { // 使用MinIO服務的URL,端口,Access key和Secret key建立一個MinioClient對象 minioClient = new MinioClient(endpoint, accessKey, secretKey); } catch (Exception e) { log.error("---初始化minio客戶端異常,message={}---", e.getMessage()); } } /** * 上傳文件到minio * * @param fileName 保存文件名 * @param inputStream 文件字節流 */ public ResponseResult putFileToMinio(String fileName, InputStream inputStream) { try { // 檢查存儲桶是否已經存在,不存在建立存儲桶 if (!minioClient.bucketExists(bucketName)) { minioClient.makeBucket(bucketName); //修改bucketName讀寫權限 minioClient.setBucketPolicy(bucketName, "*", PolicyType.READ_WRITE); } // 使用putObject上傳一個文件到存儲桶中。 minioClient.putObject(bucketName, fileName, inputStream, CONTENT_TYPE); //獲取url String objectUrl = minioClient.getObjectUrl(bucketName, fileName); log.info("---成功上傳文件到Minio,objectUrl={} ---", objectUrl); return ResponseResult.success(objectUrl); } catch (Exception e) { log.error("---上傳文件到Minio異常,message={}---", e.getMessage()); return ResponseResult.fail("上傳文件到Minio異常"); } } }