【零基础搭建Docker和Minio】

本文详细介绍了如何使用Docker从零开始搭建Minio服务。首先阐述了Docker的重要性,它能解决传统部署方式带来的问题,实现应用的快速分发和移植。然后,逐步讲解了在CentOS系统上安装Docker,配置阿里云Docker加速器,以及安装和启动Minio的过程。最后,通过`docker ps`和`docker logs`命令验证Minio服务已成功运行,并提供了访问Minio控制台的步骤。
摘要由CSDN通过智能技术生成

从零使用docker搭建Minio服务

为什么使用docker

在云时代,开发者创建的应用必须是“任何时间任何地点”可获取的。因此,开发者们需要一种新型的创建分布式应用程序的方式,快速分发和部署,而这正是 Docker 所能够提供的最大优势。

举个简单的例子,假设用户试图基于最常见的 LAMP(Linux+Apache+Mysql+PHP)组合来构建网络。按照传统的做法,首先需要安装 Apache、MySQL 和 PHP 以及它们各自运行所依赖的环境;之后分别对它们进行配置(包括创建合适的用户、配置参数等);经过大量的操作后,还需要进行功能测试,看是否工作正常;如果不正常,则进行调试追踪,意味着更多的时间代价和不可控的风险。可以想象,如果应用数目变多,事情会变得更多难以处理。

更为可怕的是,一旦需要服务迁移(例如从亚马逊云迁移到其他云),往往需要对每个应用都进行重新部署和调试。这些琐碎而无趣的“体力活”,极大地降低了用户的工作效率。究其根源,是这些应用直接运行在底层操作系统上,无法保证同一份应用在不同的环境中行为一致。

而 Docker 提供了一种更为聪明的方式,通过容器来打包应用、解耦应用和运行平台。这意味着迁移的时候,只需要在新的服务器上启动需要的容器就可以了,无论新旧服务器是否是同一类型的平台。这无疑帮助我们节约大量的宝贵时间,并降低部署过程出现问题的风险。

Docker搭建

1、先安装Docker所需要的依赖包和功能包 devicemapper驱动依赖的

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

2、添加Docker源,本文使用阿里云的开源地址

[root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、清理Yum缓存和建立缓存

[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache

4、前期工作做完,安装Docker

[root@localhost ~]# yum -y install docker 
#也可以用yum list docker 查看docker版本选择性安装

5、配置阿里云Docker加速器

[root@localhost ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
> {
>   "registry-mirrors": ["https://vwyr72yu.mirror.aliyuncs.com"]
> }
> EOF
{
  "registry-mirrors": ["https://vwyr72yu.mirror.aliyuncs.com"]
}
[root@localhost ~]# sudo systemctl daemon-reload
#重启Docker
[root@localhost ~]# sudo systemctl restart docker
#查看是否写入加速地址成功
[root@localhost ~]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://vwyr72yu.mirror.aliyuncs.com"]
}
#用ps查看是否有docker进程
[root@localhost ~]# ps -axu | grep docker
root     104160  0.2  3.2 1162728 61004 ?       Ssl  01:41   0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root     104324  0.0  0.0 112812   980 pts/2    S+   01:43   0:00 grep --color=auto docker

到这里Docker 安装完成

使用Docker安装Minio

#使用docker search查找Minio镜像 我们可以看到第一个是官方的我们来安装这个
[root@localhost ~]# docker search minio
NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
minio/minio                    Multi-Cloud Object Storage                      578                  [OK]
bitnami/minio                  Bitnami MinIO Docker Image                      39                   
minio/mc                       Minio Client (mc) provides a modern alternat…   35                   [OK]
minio/console                  A graphical user interface for MinIO server     14                   
newrelic/synthetics-minion     Synthetics Containerized Private Minion         5                    
bitnami/minio-client           Bitnami MinIO Client Docker Image               5                    
minio/operator                                                                 2                    
minio/k8s-operator             Minio Operator for k8s https://kubernetes.io/   1                    
rancher/minio-minio                                                            1                    
minio/logsearchapi                                                             1                    
minio/kes                      Description  Kes is a tool for managing and …   1                    
silintl/minio-default-server                                                   0                    
drud/minio                                                                     0                    
ibmcom/minio-s390x                                                             0                    
drud/minio-exporter                                                            0                    
ibmcom/minio-mc-s390x                                                          0                    
ibmcom/minio-mc-ppc64le                                                        0                    
ibmcom/minio-ppc64le                                                           0                    
ibmcom/minio-mc-amd64                                                          0                    
ibmcom/minio-amd64                                                             0                    
ibmcom/minio-mc                                                                0                    
minio/direct-csi               Container Storage Interface (CSI) driver for…   0                    
ibmcom/minio                                                                   0                    
minio/logsearch                                                                0                    
minionflo/discord                                                              0                    
[root@localhost ~]# 
[root@localhost ~]# docker pull minio/minio
Using default tag: latest
latest: Pulling from minio/minio
d46336f50433: Pull complete 
be961ec68663: Pull complete 
44173c602141: Pull complete 
a9809a6a679b: Pull complete 
df29d4a76971: Pull complete 
2b5a8853d302: Pull complete 
84f01ee8dfc1: Pull complete 
Digest: 
sha256:d786220feef7d8fe0239d41b5d74501dc824f6e7dd0e5a05749c502fff225bf3
Status: Downloaded newer image for minio/minio:latest
docker.io/minio/minio:latest

2.1、使用docker images来查看docker镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
minio/minio latest e31e0721a96b 5 months ago 406MB

2.2、启动minio

[root@localhost ~]# docker run --restart=unless-stopped --name minio -d -P -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123" -v /home/minio/data -v /home/minio/config:/root/.minio minio/minio server /data --console-address ":9000" --address ":9090"
7ae88789ff8ecb544d1f886036eac1d11dacadcfcebfb1a4156755549215df8d
#--name是指出叫什么名字我们这里叫minio可以随便定义,但是要一眼认出来
#MINIO_ROOT_USER=admin 这个参数用来定义minio账号
#MINIO_ROOT_PASSWORD=admin123定义minio密码
#-v指本地的挂载目录和容器内部挂载目录,好处是这样容器没了 数据在
##出现以上信息代表minio启动成功
#通过docker logs 来查看日志文件 
#这个7a就是上面启动minio的一长段我们输入两个字母就是就可以查看启动信息,一般docker都是输入两个
[root@localhost ~]# docker logs -f 7a 
API: http://172.17.0.2:9090  http://127.0.0.1:9090 

Console: http://172.17.0.2:9000 http://127.0.0.1:9000 

Documentation: https://docs.min.io

 You are running an older version of MinIO released 5 months ago 
 Update: 
Run `mc admin update` 

#如果开发需要调用Minio服务需要通过本地的API接口来调用,我们访问后台通过Console来访问,本文章中出现的172.17.0.2是给予docker地址生成的,我们也可以通过本服务器的IP地址加端口来访问

2.3、访问Minio服务

[root@localhost ~]# docker ps 
CONTAINER ID   IMAGE         COMMAND                  CREATED         STATUS         PORTS                                         NAMES
7ae88789ff8e   minio/minio   "/usr/bin/docker-ent…"   8 minutes ago   Up 8 minutes   0.0.0.0:49153->9000/tcp, :::49153->9000/tcp   minio

#我们通过docker ps查看到docker内部的9000 映射到了本机的49153了,我们拿着本机的IP+端口用网页访问试试 
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/16e03b73272741f99ca00971683ca1f6.png)
#账号admin
#密码admin123
登录成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/98d2ac1ca7574711bd14bcdfe77e94e3.png)

大功告成
Docker文字描述照抄:

https://blog.csdn.net/smile_tianya/article/details/123142446

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用Docker搭建Minio,首先需要下载Minio镜像。使用命令`docker pull minio/minio`可以下载最新版的Minio镜像,相当于`docker pull minio/minio:latest`。如果需要下载特定版本的Minio镜像,可以使用命令`docker pull minio/minio:RELEASE.2022-06-20T23-13-45Z.fips`,其中RELEASE.2022-06-20T23-13-45Z.fips是具体的版本号。 接下来,使用单行模式或多行模式的命令来运行Minio容器并配置。下面是单行模式命令的示例: ``` docker run -p 9000:9000 -p 9090:9090 --net=host --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minioadmin" -e "MINIO_SECRET_KEY=minioadmin" -v /home/minio/data:/data -v /home/minio/config:/root/.minio minio/minio server /data --console-address ":9090" -address ":9000" ``` 而多行模式的命令示例如下: ``` docker run -p 9000:9000 -p 9090:9090 \ --net=host \ --name minio \ -d --restart=always \ -e "MINIO_ACCESS_KEY=minioadmin" \ -e "MINIO_SECRET_KEY=minioadmin" \ -v /home/minio/data:/data \ -v /home/minio/config:/root/.minio \ minio/minio server \ /data --console-address ":9090" -address ":9000" ``` 以上命令中的参数说明如下: - `-p`参数用于指定端口映射,将主机的9000端口映射到Minio容器的9000端口,将主机的9090端口映射到Minio容器的9090端口。 - `--net=host`参数用于将容器与主机共享网络命名空间,使得容器可以访问主机的网络资源。 - `--name`参数用于指定容器的名称,这里将容器命名为minio。 - `-d --restart=always`参数用于将容器以守护进程方式运行,并设置容器在重启后自动启动。 - `-e`参数用于设置Minio的访问密钥和密钥,这里将访问密钥设置为"minioadmin",密钥也设置为"minioadmin"。 - `-v`参数用于指定容器的数据存储和配置文件目录,这里将主机的`/home/minio/data`目录挂载到容器的`/data`目录,将主机的`/home/minio/config`目录挂载到容器的`/root/.minio`目录。 - `minio/minio`是Minio镜像名称。 - `server /data`是启动Minio服务器的命令,其中`/data`是数据存储目录。 - `--console-address ":9090" -address ":9000"`参数用于设置Minio的控制台地址和服务器地址,这里控制台地址为":9090",服务器地址为":9000"。 通过执行上述命令,就可以在Docker搭建Minio并进行配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Docker 搭建 Minio 容器 (完整详细版)](https://blog.csdn.net/BThinker/article/details/125412751)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值