9.容器间的互联

问题:
1.无法知道容器的IP

解决:使用--link的参数,使容器互通(在/etc/host解析中加了解析)

[root@docker03 ~]# docker run -it --name web alpine:v2
[root@docker03 ~]# docker run -it --link web:mysql alpine:3.9 
/ # ping web
PING web (172.17.0.2): 56 data bytes
64 bytes from 172.17.0.2: seq=0 ttl=64 time=0.158 ms
64 bytes from 172.17.0.2: seq=1 ttl=64 time=0.072 ms
/ # cat /etc/hosts
172.17.0.2	mysql ebb03a28598b web

注:web:mysql (web的别名),只是单向ping通

2.zabbix环境搭建

2.1上传镜像

[root@docker03 ~/docker]# docker load  -i zabbix-server-mysql.tar.gz
[root@docker03 ~/docker]# docker load  -i docker-mysql-5.7.tar.gz
[root@docker03 ~/docker]# docker load  -i zabbix-java-gateway.tar.gz
[root@docker03 ~/docker]# docker load  -i zabbix-web-nginx-mysql.tar.gz

2.2部署

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

2.3测试

posted @ 2022-06-13 13:57  张福帅  阅读(33)  评论(0)    收藏  举报