docker-compose网络配置- IP 主机名 hosts配置方式
作者:xfchn多多学习学习
这篇文章主要介绍了docker-compose网络配置- IP 主机名 hosts配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
docker-compose 配置IP、hostname、hosts配置
配置IP
version: "3" networks: bd-network: # 声明网络 external: true services: kafka: # 服务名称 networks: bd-network: # 连接的网络名称 ipv4_address: 172.2.0.102 # 配置IP
配置 主机名
version: "3" services: kafka: # 服务名称 hostname: kf # 主机名
配置hosts
下面的配置可以修改/etc/hosts文件: 追加zk 172.2.0.101
、kf 172.2.0.102
version: "3" services: kafka: extra_hosts: - "zk:172.2.0.101" - "kf:172.2.0.102"
配置完成进入容器,可查看验证
$ sudo docker exec -it zk-singleton /bin/bash $ cat /etc/hosts
完整例子
1.创建一个网络
$ sudo docker network create --driver=bridge --gateway=172.2.0.1 --subnet=172.2.0.0/16 bd-network
2.配置 单节点kafka、zookeeper,kafka通过主机名 访问zookeeper
version: "3" networks: #声明网络 bd-network: external: true services: zookeeper: # 服务名 image: 'bitnami/zookeeper:latest' # 镜像 container_name: zk-singleton # 容器名 hostname: zk # 主机名 networks: bd-network: ipv4_address: 172.2.0.101 # 定义容器ip extra_hosts: - "zk:172.2.0.101" - "kf:172.2.0.102" ports: # 宿主端口:容器端口映射 - '2181:2181' environment: # 容器环境配置 - ALLOW_ANONYMOUS_LOGIN=yes kafka: image: 'bitnami/kafka:latest' container_name: kf-singleton hostname: kf networks: bd-network: ipv4_address: 172.2.0.102 extra_hosts: - "zk:172.2.0.101" - "kf:172.2.0.102" ports: - '9192:9092' environment: - KAFKA_BROKER_ID=1 - ALLOW_PLAINTEXT_LISTENER=yes - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092 - KAFKA_CFG_ZOOKEEPER_CONNECT=zk:2181 # 通过主机名访问zookeeper depends_on: # 依赖 - zookeeper
3.验证
$ sudo docker exec -it kf-singleton /bin/bash $ hostname $ cat /etc/hosts
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。