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异常"); } } }