首页 > 其他分享 >记一次arm银河麒麟V10部署docker,zabbix

记一次arm银河麒麟V10部署docker,zabbix

时间:2022-12-16 17:33:29浏览次数:159  
标签:CentOS V10 GPG etc zabbix mysql docker

 

  1. 添加CentOS-7仓库的变量
echo 7 > /etc/yum/vars/releasever 

为啥是7,我用到的是CentOS-7的软件源,你们用来其他版本的自由设置。不设置该变量,会导致Docker源失效。至于为啥失效,看下Docker源的文件就知道了

  1. 参照Docker官方链接,添加Docker最新源

#移除旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine sudo yum install -y yum-utils

#添加安装源

sudo yum-config-manager \

  --add-repo \

  https://download.docker.com/linux/centos/docker-ce.repo

   3.参照Docker官方链接

#安装最新版的Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

 

遇到的问题

1. 安装失败,提示 “需要:container-selinux >= 2:2.74”

X86架构下的解决方案

请参考链接

ARM架构下的解决方案

第一步:编辑repo源
vi /etc/yum.repo.d/CentOS-Base.repo, 写入以下内容

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
 
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32
 
#released updates
[updates]
name=CentOS-$releasever - Updates
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/updates/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/extras/$basearch/
gpgcheck=0 #跳过检测,不然会报错:fuse-overlayfs-0.7.2-6.el7_8.aarch64.rpm is not installed gpg key
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

 

第二步:获取GPG Key
不获取GPG KEY,安装部分软件会报“Error:GPG check FAILED”,当然也可以将gpgcheck=1改为gpgcheck=0去跳过校验,但是不建议。
获取GPG KEY有导入和下载两种方式,二选一即可。

1.导入

rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7
rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7-aarch64
rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

 

2.下载

cd /etc/pki/rpm-gpg
wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7
wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7-aarch64
wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

 

第三步:参照解决方案2的步骤3,安装最新的Docker即可

2. fuse-overlayfs-0.7.2-6.el7_8.aarch64.rpm is not installed gpg key
该问题应该是GPG Key没有安装完全导致的。我采用了比较粗暴的解决方案,将CentOS-Base.repo [extras]源的gpgcheck=1改为gpgcheck=0,跳过GPG检测。

1. 首先开始pull zabbix所需要模块的镜像,我自己用的docker版本是20.10.9

 docker pull mysql:8-oracle 
 docker pull zabbix/zabbix-server-mysql:centos-latest 
 docker pull zabbix/zabbix-web-nginx-mysql:latest
 docker pull zabbix/zabbix-agent:latest  
 docker pull zabbix/zabbix-java-gateway:latest

mysql:5.7数据服务没啥可说
zabbix-server后端镜像,选择支持MySQL数据库zabbix-server-mysql,选择的是centos-latest版本,后面如果想自己重做镜像的话,需要exec进入容器中,选择centos版本,用着会更简单一点。
Zabbix-web镜像,这里使用的是基于Nginx web服务器及支持MySQL数据库的Zabbix web接口zabbix/zabbix-web-nginx-mysql
zabbix-java-gateway镜像,Zabbix本身不支持直接监控Java,而是使用zabbix-java-gateway监控jvm/tomcat性能
abbix/zabbix-agent镜像, 可以运行在各种支持的平台上,包括 Linux、UNIX 和 Windows,并从设备收集 CPU、内存、磁盘和网络接口使用情况等数据

2.下载完镜像开始搭建容器

docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="zabbixroot" -v /sfapp/docker/mysql:/var/lib/mysql       -v /etc/localtime:/etc/localtime       -d mysql       --character-set-server=utf8       --collation-server=utf8_bin


docker run --name zabbix-server-mysql -t       -e DB_SERVER_HOST="mysql-server"       -e MYSQL_DATABASE="zabbix"       -e MYSQL_USER="zabbix"       -e MYSQL_PASSWORD="zabbix"       -e MYSQL_ROOT_PASSWORD="zabbixroot"       -v /etc/localtime:/etc/localtime       --link mysql-server:mysql       -p 10051:10051       -d zabbix/zabbix-server-mysql:centos-latest


docker run --name zabbix-web-nginx-mysql -t       -e DB_SERVER_HOST="mysql-server"       -e MYSQL_DATABASE="zabbix"       -e MYSQL_USER="zabbix"       -e MYSQL_PASSWORD="zabbix"       -e MYSQL_ROOT_PASSWORD="zabbixroot"       -v /etc/localtime:/etc/localtime       --link mysql-server:mysql       --link zabbix-server-mysql:zabbix-server       -p 8090:8080       -d zabbix/zabbix-web-nginx-mysql:latest


docker run  --name zabbix_agent  --link zabbix-server-mysql:zabbix-server -e ZBX_HOSTNAME="zabbix-server-mysql" -e ZBX_SERVER_PORT="10051" -e ZBX_SERVER_HOST="192.168.1.100" -p 10050:10050 -d zabbix/zabbix-agent:latest


docker run -v /etc/localtime:/etc/localtime -dit --restart=always --name=zabbix-java-gateway  zabbix/zabbix-java-gateway:latest

 

 账号:Amdin 密码:zabbix
测试没问题了,可以使用了,但我的目录是以后秒搭建,所以接下来准备自己写compoes.yml文件

 

 

 

 

 

 

 

删除指定容器

docker rm -f <containerid>

删除未启动成功的容器

docker rm $(docker ps -a|grep Created|awk '{print $1}')
或者
docker rm $(docker ps -qf status=created)

删除退出状态的容器

docker rm $(docker ps -a|grep Exited|awk '{print $1}')
或者
docker rm $(docker ps -qf status=exited)

删除所有未运行的容器

docker rm $(docker ps -a -q) #正在运行的删除不了,所有未运行的都被删除了
或者
docker container prune #Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器

 

 

 

问题:安装mysql

root@4:~# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
no matching manifest for linux/arm64/v8 in the manifest list entries

解决办法:

docker pull mysql:8-oracle

 

参考链接

docker搭建zabbix

ARM架构下银河麒麟V10系统安装最新版本Docker

 

标签:CentOS,V10,GPG,etc,zabbix,mysql,docker
From: https://www.cnblogs.com/shuai666/p/16987895.html

相关文章

  • Docker网络模式
    一、docker网络概述1、docker网络实现的原理Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP......
  • Docker的容器管理操作
    1、创建容器容器创建:就是将镜像加载到容器的过程。创建容器时如果没有指定容器名称,系统会自动创建一个名称。新创建的容器默认处于停止状态,不运行任何程序,需要在其中发......
  • 初识Docker
    一、Docker概述1、Docker的概念•Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源•Docker是在Linux容器里运行应用的开源工具,是一种轻量级......
  • docker 安装redis并配置外网访问
    docker安装redis并配置外网访问dockerpullredis拉取最新版本的redis,后面也可以加tag指定版本号dockerpullredisdocker安装redis容器(container)安装之前定......
  • 容器逃逸 --with docker.sock
    容器逃逸--withdocker.sock本人对于容器逃逸的基本理解就是用户从容器中逃出去到宿主机里去了。本文意在记录一个使用docker.sock来进行容器逃逸的方法。首先随便......
  • Zabbix与乐维监控对比分析(四)——告警管理篇
    在前面发布的Zabbix与乐维监控对比分析文章中,我们评析了二者在架构与性能、Agent管理、自动发现、权限管理、对象管理等方面的差异。接下来让我们一起看看二者在告警管理方......
  • docker学习系列:在centos7上面安装docker
    一、场景最近在折腾安装​​centos7​​​,刚好有一些服务想直接用​​docker​​,每次安装都得找找教程。现在就自己写好教程,给以后备用。二、环境软件版本Centos7三、正文3.......
  • Zabbix与乐维监控对比分析(四)——告警管理篇
    在前面发布的Zabbix与乐维监控对比分析文章中,我们评析了二者在架构与性能、Agent管理、自动发现、权限管理、对象管理等方面的差异。接下来让我们一起看看二者在告警管理方......
  • docker swarm 删除节点
    有时临时在dockerswarm集群上增加节点(node3),过后需要删除节点#获取node信息dockernodelsIDHOSTNAMESTATUS......
  • zabbix基础搭建
    Zabbix介绍及部署(超详细讲解)入门小站 入门小站 2022-12-1521:30 发表于湖北收录于合集#Linux651个#Zabbix1个入门小站分享运维技巧及10k+Star......