本文主要是介绍12.容器间的互联(--link 是单方向的!!!),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
容器间的互联(–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_bindocker run --name zabbix-java-gateway -t \-d zabbix/zabbix-java-gateway:latestdocker 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:latestdocker 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好使
这篇关于12.容器间的互联(--link 是单方向的!!!)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!