麒麟服务器操作系统安装Docker + prometheus + grafana
https://docs.docker.com/compose/install/linux/
去这个网址有安装docker-compose的步骤
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
[root@localhost ~]# chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
[root@localhost ~]#
[root@localhost ~]# find / -name docker-compose
/root/.docker/cli-plugins/docker-compose
/usr/bin/docker-compose
[root@localhost ~]#
[root@localhost ~]# cp /root/.docker/cli-plugins/docker-compose /usr/local/bin/
[root@localhost ~]#
[root@localhost ~]# cd /usr/local/bin/
[root@localhost bin]# ls
docker-compose runc
[root@localhost bin]#
[root@localhost bin]# docker-compose version
Docker Compose version v2.12.2
[root@localhost ~]# chmod -R 777 /opt/docker/
# 这里提升权限是为了后面不要遇到rabbitmq 和 grafana 写入权限不够的错误
[root@localhost ~]# ll /opt/
总用量 0
drwx--x--x 4 root root 28 10月 28 03:00 containerd
drwxrwxrwx 6 root root 94 10月 28 04:41 docker
drwxr-xr-x 2 root root 24 10月 28 01:46 firefox
drwxr-xr-x 4 root root 58 10月 28 01:46 patch_workspace
[root@localhost ~]# cd /opt/docker/
[root@localhost docker]# cat docker-compose.yml
version: "3.9"
services:
mysql:
container_name: mysql
image: mysql:5.7.26
ports:
- 3306:3306
volumes:
- /opt/docker/mysql/conf:/etc/mysql
- /opt/docker/mysql/data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=123456
- TZ=Asia/Shanghai
restart: always
privileged: true
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
rabbitmq:
container_name: rabbitmq
image: rabbitmq:3.8.3-management
privileged: true
restart: always
volumes:
- /opt/docker/rabbitmq/data:/var/lib/rabbitmq
ports:
- 5672:5672
- 15672:15672
environment:
- RABBITMQ_DEFAULT_VHOST=my_vhost
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_PASS=admin
hostname: myRabbit
prometheus:
container_name: prometheus
image: prom/prometheus
volumes:
- /opt/docker/prometheus:/etc/prometheus
ports:
- 9091:9090
restart: always
grafana:
container_name: grafana
image: grafana/grafana
volumes:
- /opt/docker/grafana:/var/lib/grafana
ports:
- 8080:3000
restart: always
node-exporter:
container_name: node-exporter
image: prom/node-exporter
ports:
- 9100:9100
restart: always
[root@localhost docker]# docker-compose up -d mysql
阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
加载镜像太慢的话可以自己配置阿里云的加速节点
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["配置自己的加速节点地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
数据库测试成功后,直接在/opt/docker 目录下docker-compose up
中间报错需要把prometheus.yml 文件配置好, - targets: [‘172.29.255.149:9100’] 中的IP 为本机节点的IP
[root@localhost docker]# cat /opt/docker/prometheus/prometheus.yml
global:
scrape_interval: 60s
evaluation_interval: 60s
scrape_configs:
- job_name: boxes
scrape_interval: 5s
static_configs:
- targets: ['172.29.255.149:9100']
rabbitmq | 20:52:52.966 [error] Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only
[root@localhost docker]# find / -name .erlang.cookie
/var/lib/docker/overlay2/874dfcf488ca4fc4e8652c8fe30cc17f4c0ed2515dc4152a08df9f3c4d989bc8/diff/root/.erlang.cookie
/opt/docker/rabbitmq/data/.erlang.cookie
[root@localhost docker]# chmod 400 /opt/docker/rabbitmq/data/.erlang.cookie
解决方案: docker rabbitmq复制.erlang.cookie后无法启动解决办法
新开一个终端容器,docker pa -a 查看正常运行
rabbitmq
账号密码都是docker-compose中的admin
Prometheus
http://172.29.255.149:9100/metrics 正常访问
grafana