docker - -容器通信--zabbix一键部署

--链接通信

由于容器在通信时,不能固定IP地址,所以进入其他容器时,需要设置关联选项连接保证一致。

--link 选项,本质上是将关联的容器IP添加到容器的 /etc/hosts 文件中。

注意:链接是单向配置,被连接的容器必须是启动状态,可以链接多个容器。

docker container run -itd --name test --link nginx --link php alpine  #设置链接容器

docker container exec -it test /bin/bash   #进入容器
 
# cat /etc/hosts   #查看容器内的解析



两种通信类型

一、单节点网络通信

docker network ls   #查看容器网络类型

单机网络通信类型:

bridge—默认类型,桥接到宿主机 docker0 的网络,类似于 vm 的 nat 模式

host—使用宿主机网络,效率最高

none—没有网络,不能上外网

container—使用已存在的容器,共享网络通信

 create—自定义网络

docker network --help      #查看网络使用

docker container run --help   #可以创建并运行指定的网络,并查看帮助

docker container run -it --network bridge/host/none --name nginx alpine  #创建运行指定的网络

二、案例——基于专用网络实现 zabbix 之间的网络通信

docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net    #创建专用网络

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" \
      --network=zabbix-net \
      --restart unless-stopped \
      -d mysql:8.0 \
      --character-set-server=utf8 --collation-server=utf8_bin \
      --default-authentication-plugin=mysql_native_password       #启动空的 mysql 服务器实例,此处官方文档有误,需要将启动策略调整到镜像之前。

docker run --name zabbix-java-gateway -t \
      --network=zabbix-net \
      --restart unless-stopped \
      -d zabbix/zabbix-java-gateway:alpine-5.4-latest   # 启动zabiix的java网关实例

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" \
      --network=zabbix-net \
      -p 10051:10051 \
      --restart unless-stopped \
      -d zabbix/zabbix-server-mysql:alpine-5.4-latest    #启动Zabbix服务器实例并将该实例与创建的MySQL服务器实例链接


docker run --name zabbix-web-nginx-mysql -t \
      -e ZBX_SERVER_HOST="zabbix-server-mysql" \
      -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" \
      --network=zabbix-net \
      -p 80:8080 \
      --restart unless-stopped \
      -d zabbix/zabbix-web-nginx-mysql:alpine-5.4-latest    #启动Zabbix Web界面并将实例与创建的MySQL服务器和Zabbix服务器实例链接


docker container ls   #查看容器

docker container port 5c173216a680   #查看容器端口

web界面登录 192.168.4.7。账户Admin ,密码zabbix










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值