docker pull hub.c.163.com/library/mysql:latest
# 建立挂载的数据卷
mkdir -p /opt/mysql/data
# 虚拟机 3306 端口和容器里的3306端口对应,虚拟机路径和容器里路径(下图,来自头部参考地址)对应
docker run -p 3306:3306 --restart="always" --name mysql -v /opt/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 -d --privileged=true hub.c.163.com/library/mysql:latest
进入 Mysql 容器
mysql -uroot -p123456
# 在操作容器里数据的同时,数据也进到了 /opt/mysql/data 目录里,两边是同步的!
docker network create my-mysql-network
docker run -d \
-p 9104:9104 \
--network my-mysql-network --restart="always" \
-e DATA_SOURCE_NAME="root:123456@(192.168.1.36:3306)/" \
prom/mysqld-exporter
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
授权文件
chmod +x /opt
然后编辑docker-compose-mysql-exporter.yml文件
version: '2'
networks:
monitor:
driver: bridge
services:
mysql-exporter:
image: prom/mysqld-exporter
container_name: mysql-exporter
hostname: mysql-exporter
restart: always
ports:
- "9104:9104"
networks:
- my-mysql-network
environment:
DATA_SOURCE_NAME: "root:123456@(192.168.1.36:3306)/"
networks:
my-mysql-network:
driver: bridge
docker-compose -f /opt/docker-compose-mysql-exporter.yml up -d
#删除容器:
docker-compose -f /opt/docker-compose-mysql-exporter.yml down
#重启容器:
- job_name: 'mysql'
static_configs:
- targets: ['192.168.1.36:9104']
labels:
instance: mysql