WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

像阿里OSS一样的文件对像存储服务,容器实现

 

docker run -p 8000:9000 --name oss-minio -d -e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" -e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" -v /data/oss-minio:/data minio/minio server /data

 

 

https://docs.minio.io/docs/minio-docker-quickstart-guide.html

 

 

 

 

 

docker安装

以centos为例,官方推荐centos7以上
https://docs.docker.com/engine/install/centos/

推荐安装方式

指定源 repository

$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装docker engine 最新稳定版

$ sudo yum install docker-ce docker-ce-cli containerd.io

启动、检测

$ sudo systemctl start docker
$ sudo docker run hello-world

启动后 以 sudo方式运行, 非管理员允许需要单独配置。

最近正在学习minio,顺手做个实验吧
https://docs.minio.io/docs/minio-docker-quickstart-guide.html

指定授权及数据目录

docker run -p 9000:9000 --name myminio
-d
-e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE"
-e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
-v /mnt/data:/data
minio/minio server /data

-d 后台运行容器,并返回容器ID ,测试环境

客户端测试


@Slf4j
public class MinIOFileUploader {
    private static String myBucket = "wechatbucket";
    public static void main(String[] args) throws NoSuchAlgorithmException, IOException, InvalidKeyException, XmlPullParserException {
        try {
            MinioClient minioClient = new MinioClient("http://172.24.30.63:9000", "AKIAIOSFODNN7EXAMPLE", "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY");
            if(!minioClient.bucketExists(myBucket)) {
                minioClient.makeBucket(myBucket);
            }
            minioClient.putObject(myBucket,"wecaht----mintest.txt", "/Users/xxx/Desktop/mintest.txt", null);
            Iterable<Result<Item>> results = minioClient.listObjects(myBucket);
            for(Result<Item> re : results){
                log.info(re.get().objectName());
            }
        } catch(MinioException e) {
           log.error("Error : " + e);
        }
    }
}

测试成功


 
image.png

docker是一个工具,对照文档使用就可以了https://docs.docker.com/get-started/overview/
遇到问题查阅资料

下面是docker中常用的命令:
docker version 、docker info 、 docker --help

镜像命令 针对 image

docker images
[root@XXGL-T-TCSFW-web01-010 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
minio/minio         latest              f88482fd77da        35 hours ago        57MB

[https://hub.docker.com](https://hub.docker.com/)
[root@XXGL-T-TCSFW-web01-010 ~]# docker search minio  # 搜索镜像
NAME                           DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
minio/minio                    Minio is an Amazon S3 compatible object stor…   334                                     [OK]
minio/mc                       Minio Client (mc) provides a modern alternat…   18                                      [OK]

docker pull  nginx             #下载镜像

docker rmi nginx  #删除镜像
    docker rmi -f imageid

容器命令 针对 image

docker run  # 新建启动容器
    OPTIONS
        –name=“容器新名字”: 为容器指定一个名称。
        -d: 后台运行容器,并返回容器ID,也即启动守护式容器。
        -i:以交互模式运行容器,通常与 -t 同时使用。
        -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
        -P: 随机端口映射。
        -p: 指定端口映射
    交互式容器
        docker run -it centos /bin/bash
    列出容器
        docker ps
    退出容器
        exit : 退出停止容器
        ctrl + P + Q
     容器命令: 
        docker start/retart/stop/kill/rm containerid或容器名
     守护启动
        docker run -d containname  
     其他
        docker logs -f -t -tail containid
         docker top/inspect  containid
      
        


 
 
0人点赞
 
技术
 
 


作者:X作业写完了吗
链接:https://www.jianshu.com/p/459ee6fbe4d6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。