首页 > 其他分享 >解决docker安装minio容器时,minio容器启动几秒后自动退出的一种方法

解决docker安装minio容器时,minio容器启动几秒后自动退出的一种方法

时间:2024-11-02 15:45:03浏览次数:1  
标签:容器 minio -- 端口 9000 docker data MINIO

笔者在部署minio容器时,遇到了以上问题。起初以为是我端口被占用或存储空间不足,经过检测排除了以上问题。

以下是最初的安装命令:

docker run -d --name minio --restart=always -p 9000:9000 -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=minio123" -v /home/data:/data -v /home/config:/root/.minio --network my-net minio/minio:RELEASE.2021-06-17T00-10-46Z server /data
通过查阅多篇blog,得知MINIO_ACCESS_KEY至少需要5位,MINIO_SECRET_KEY最少要8位。且需要为minio容器配置一个静态端口。
在检查后修改为如下命令:

docker run -d --name minio --restart=always -p 9000:9000 -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=minio" -v /home/data:/data -v /home/config:/root/.minio --network my-net minio/minio:RELEASE.2021-06-17T00-10-46Z server /data --console-address ":9000" --address ":9090"
仍然无法解决问题,minio容器还是只能在创建之后的不到一秒内运行,随即停止且重启无效。
再查,得知某个版本过后的minio容器在首次启动时使用MINIO_ROOT_USER和MINIO_ROOT_PASSWORD进行鉴权,且默认情况下会使用镜像内部的minio-client进行配置。可以在docker run指令中手动跳过该配置。另外,一开始拉取的minio镜像是三年前发布的。minio更新的速度感觉挺快,不知道跟版本有没有关系。于是我拉取成了最新的镜像。
得到如下指令:

docker run -d --name minio --restart=always -p 9000:9000 --env MINIO_ROOT_USER="minio" --env MINIO_ROOT_PASSWORD="minio123" --env MINIO_SKIP_CLIENT="yes" -v /root/minio/minio-data:/data -v /root/minio/minio-config:/root/.minio --network my-net minio/minio server /data --console-address ":9000" --address ":9001"
此时minio容器运行在虚拟机的9000端口。经过检验,此时的minio容器能够正常持续运行。

但是这个命令只把容器内的9000端口映射到主机的9000端口,而没有把9001端口映射到主机。而我又指定了控制台是9000端口、主服务是9001端口。所以找到了错误:没有在映射的主机上指定外界访问和上传的端口。解决方法是指定一个console端口和一个主服务的端口。
最后指令如下:

docker run -d --name minio --restart=always -p 9000:9000 -p 9001:9001 --env MINIO_ROOT_USER="minio" --env MINIO_ROOT_PASSWORD="minio123" --env MINIO_SKIP_CLIENT="yes" -v /root/minio/minio-data:/data -v /root/minio/minio-config:/root/.minio --network hm-net minio/minio server /data --console-address ":9000" --address ":9001"
现在能通过9000端口正常访问控制台,也能通过9001端口正常上传文件。

标签:容器,minio,--,端口,9000,docker,data,MINIO
From: https://www.cnblogs.com/vizzini/p/18521994

相关文章

  • CPP学习 用栈容器解决问题示例,判断括号是否成对出现
    #include<string>#include<iostream>#include<stack>usingnamespacestd;boolisbalanced(conststring&str){intlen=str.size();stack<char>mystack;for(inti=0;i<len;i++){if(str[i]==&......
  • 制作一个龙芯旧世界的 dotnet sdk docker 镜像
    以下是我的dockerfile文件,内容特别简单FROMcr.loongnix.cn/library/debian:busterWORKDIR/rootRUNapt-getupdate-y&&\apt-getinstall-y--no-install-recommends\apt-transport-https\ca-certificates\curl\git......
  • MySQL主从复制(docker环境)
    MySQL主从复制示例1创建master容器3307:dockerrun-d--namemysql-master\-p3307:3306\--privileged=true\-v/root/mysql-master/log:/var/log/mysql\-v/root/mysql-master/data:/var/lib/mysql\-v/root/mysql-master/conf:/etc/mysql/conf.d\-eMYSQL_ROO......
  • Docker 代理配置
    不提供代理,只是在有代理服务器的情况下一些Docker代理配置。关于dockerrun报错正常安装docker完毕后,可以使用dockerrunhello-world来运行,但是发现报错Unabletofindimage'hello-world:latest'locallydocker:Errorresponsefromdaemon:Get"https://regist......
  • Docker(一):Docker简介及安装
    目录1Docker简介1.1容器跟虚拟机的区别1、虚拟机是什么2、容器是什么3、容器和虚拟机的区别1.2为什么要学习容器1.3Docker是什么2Docker安装2.1安装docker-centos71、环境初始化2、安装docker-ce3、配置docker镜像加速器2.2安装docker-ubuntu22.041、安装2、......
  • 浅析Dockerhub API:如何优雅地从dockerhub偷rootfs镜像
    成品:https://github.com/Moe-hacker/docker_image_puller前言:八月初的时候,咱无聊去扒了下dockerhub的接口,想通过网络请求直接从dockerhub偷镜像。然后写完才想起来dockkerhub在国内是被墙的,似乎这么一个功能用处也不大。。。。。然后咱就去旅游了,连项目Readme都没写(逃)。至于......
  • rootless容器开发指北
    前言:ruri前不久通过使用uidmap二进制的方式修好了rootless容器无法setgroups()的问题,差不多也该讲讲rootless容器的创建了。rootless容器创建流程:1.设置uidmap我们可以通过读取/etc/subuid和/etc/subgid来获取uid_lower,uid_count和gid_lower,gid_count,他们的格式为:foo:lowe......
  • 华为云企业主机安全检测升级,再添容器安全新翼
    来源:本文分享自华为云开发者社区《必看!HSS检测增强这2个新特性,你一定要知道!》,原文作者:阅识风云阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。华为......
  • 在K8S中,创建init c容器后其状态不正常 如何解决?
    在Kubernetes(K8S)中,如果在创建init(初始化)容器后其状态不正常,这通常意味着初始化容器在执行过程中遇到了问题。为了解决这个问题,可以按照以下步骤进行详细的排查和解决:1.查看Pod状态和日志查看Pod状态:使用kubectlgetpods命令查看Pod的状态,特别注意init容器的状态。如果init......
  • docker和k8s有什么区别
    在讨论Docker和Kubernetes(K8s)的区别前,需要明确它们各自的核心作用:Docker是一个开源平台,用于开发、交付和运行应用程序,通过容器化技术将应用及其依赖打包成容器形式,实现应用在不同环境中的一致性运行。Kubernetes则是一个用于自动部署、扩展和管理容器化应用程序的系统,它支持多个容......