Docker exec 命令
docker exec :在运行的容器中执行命令
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
脚本
cat /server/scripts/mysql.sh
#!/bin/bash
docker exec -t docke_mysql mysql -uroot -p123456 -e "show slave status\G"|grep "Running"|grep "Yes"|wc -l
为什么不用docker exec -i ?
这样会显示下面的结果
Warning: Using a password on the command line interface can be insecure.
2
zabbix会报错
Received value [Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)0] is not suitable for value type [Numeric (unsigned)] and data type [Decimal]
使用docker exec -t(分配一个伪终端,不需要保持STDIN打开,结果就正常了,我也是试了好久,改/etc/my.cnf,本人认为不安全,有其它见解的话,请高人指点下我的想法是否正确)
现在获取到数值了可以去设置你自己的zabbix了