容器间的互联(–link 是单方向的!!!)
–link意思就是链接容器进行通信
用法:--link 容器名字:随意设置别名;例如:--link nginx:nginx
注释:同一个容器中,可以使用多个--link进行链接多个容器
启动容器,并且给容器起一个名字为nginx
docker run -d --name nginx nginx:latest
然后在启动一个容器并且链接到上一个容器的名字nginx,随意设置一个别名为nginx,同时进入容器中
docker run -it --link nginx:nginx centos6.9-ssh-nginx:v1 /bin/bash
查看自己的IP地址为172.17.0.3,由此可见,容器中的IP地址是docker自动给分配的IP地址
同时ping其他容器地址是通的,说明容器之间默认是互通的。
因为默认不知道容器的IP地址,可以通过ping 或者curl容器的名字ningx或者别名nginx,均可通的。
因为通过–link链接容器名字或者别名,都会被添加到hosts文件中。所以会保持容器通
我有重启启动一个容器,链接容器名字和设置别名,都解析到hosts文件中,所以容器名和别名均通
curl容器名字和别名均通
由于–link单方向,例如在一个架构中,如果要是启服务的话,优先从后向前进行启动服务,要不然容器找不到。所以先启动db和nfs,然后启动web服务,在启动lb,这样的一个流程;
演示docker启动容器搭建zabbix服务
需要上传docker-zabbix镜像包,不然从官方中pull太慢了,所以我这里就直接上传即可;
导入镜像操作,我这里是批量导入
for i in `ls *.gz`; do docker load -i $i; done
成功导入镜像完成
使用docker运行zabbix-server
注释:
-e:环境变量,则env
-t:分配一个终端
-d:放到后台
-p:端口映射
--name:容器起一个名字
docker执行zabbix服务命令如下
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin
docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:latest
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_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql: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_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
浏览器访问IP地址,显示zabbix界面
默认账号/密码:Admin/zabbix
添加一个监控主机
在192.168.111.13上传zabbix-agent包
安装agent包
rpm -ivh zabbix-agent-3.2.0-1.el7.x86_64.rpm
agent.conf配置文件中默认Server=127.0.0.1所以修改zabbix-server的IP地址:192.168.111.10
启动服务
zabbix-web界面创建监控主机
链接模板
显示监控主机为绿色,则监控成功;如果要是不绿,则需要重启docker容器对应的server即可
监控报警:微信报警,alpine
yum 安装zabbix好使