抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

1、查看系统要求

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看CentOS的内核版本。

背景

最近在调研一款能管理我的tencent-cos的在线管理端软件,然后调研了很多软件,之前试用过nextcloud发现一般,然后看中了minio,看评测说性能比较好,并且支持S3协议。

在实际使用过程中是使用的docker部署,具体命令如下,对应文档可以点击minio-gateway

1
2
3
4
docker run -p 9000:9000 --name minio-s3 \
-e "MINIO_ACCESS_KEY=access_key" \
-e "MINIO_SECRET_KEY=secret_key" \
minio/minio gateway s3 https://cos.ap-beijing.myqcloud.com

然而在我将信息填入以后,发现始终无法创建,提示:ERROR Unable to initialize gateway backend: Could not parse the specified URI.
然而通过中心搜索并不能寻找到结果,然后使用全英文搜索就找到问题所在了,原因是:tencent-cos的bucket命名是以: bucket名+个人的账号数字为命名方式的,和minio的默认创建桶的方式不一样,所以始终提示该错误。

改造过程

既然问题已经找到,剩下的问题就解决问题了,解决问题一般有两种方案,一般是解决创造问题的人,一种是直接解决,然而通过腾讯云的工单并不能解决问题,直接说是第三方的原因导致的,无法进行修改。
直接解决问题也很简单:

  • 先找到minio的github仓库,然后fork到自己的仓库中,
  • 按文件夹查找cmd->gateway->s3->gateway-s3.go文件
  • 然后找到randString这个方法
  • 修改最后的返回值为:return prefix + string(b[0:30-len(prefix)]) + "-123"
  • 此时问题解决。

前言

今年开始接触并且实践到Golang,近期自己写了一个相册的服务,是基于前后端分离的模式,由Go提供rest给web页面使用。在项目前期是直接使用的打包完成的二进制文件执行,在管理方面存在一些不方便的地方,所以周末抽时间将其容器化,实现自动化的部署方案,主要就是采用coding的devops流程,容器化使用的还是docker容器,使用的是alpine的镜像,在这个过程中遇到一些问题,下面会详细讲出,以此记录。

起因

上周五新建了一个项目,在开发完成后,和运维沟通准备上到生产环境中,套用了现有服务的通用启动命名行:

docker version 查看docker的版本号,包括客户端、服务端、依赖的Go等

docker info 查看系统(docker)层面信息,包括管理的images, containers数等

1.备份数据库脚本

vi dump.sh

1.故障起因

正常使用docker查看镜像日志过程中,发现系统插播了一条奇怪的错误日志,如下

index

由于相关需求,现有的docker制作的jdk镜像是Java8早期版本的镜像,在安全性上存在较大的问题,所以计划对docker依赖的系统以及jdk进行升级操作。这其中遇到了一些问题,不过都顺利的圆满解决了,下面来具体聊一聊细节把