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