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

完整例子

创建一个网络

$ sudo docker network create --driver=bridge --gateway=172.2.0.1 --subnet=172.2.0.0/16 bd-network

配置 单节点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

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: