# demo **Repository Path**: voishion/demo ## Basic Information - **Project Name**: demo - **Description**: 用于Docker一键部署测试项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-11 - **Last Updated**: 2021-03-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Docker一键部署测试项目 包括两种一键部署打包方法的说明文档 ### 1、git第一次上传push失败解决 第一次上传有可能会遇到push失败的情况,那是因为git远程信息还没有同步下来,需要执行以下代码才可以正常使用: > 1、拉取远程信息,输入用户名和密码 > `git pull --rebase origin master` > 2、推送本地信息至远程 > `git push -u origin master` Kafaka集群 ```yaml version: '3' services: # Zookeeper zookeeper: image: zookeeper:3.6 container_name: demo-zookeeper hostname: zookeeper restart: always ports: - 2181:2181 volumes: - $PWD/zookeeper/data:/data - $PWD/zookeeper/datalog:/datalog - $PWD/zookeeper/logs:/logs # Kafaka1 kafka1: image: wurstmeister/kafka container_name: demo-kafka1 restart: always environment: KAFKA_ADVERTISED_HOST_NAME: $HOST KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://$HOST:9092 KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181" KAFKA_ADVERTISED_PORT: 9092 KAFKA_BROKER_ID: 1 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 ports: - 9092:9092 volumes: - $PWD/kafka/kafka1-logs:/kafka depends_on: - zookeeper # Kafaka2 kafka2: image: wurstmeister/kafka container_name: demo-kafka2 hostname: kafka2 restart: always environment: KAFKA_ADVERTISED_HOST_NAME: $HOST KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://$HOST:9093 KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181" KAFKA_ADVERTISED_PORT: 9093 KAFKA_BROKER_ID: 2 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 ports: - 9093:9092 volumes: - $PWD/kafka/kafka2-logs:/kafka depends_on: - zookeeper # 开源的web管理kafka集群的界面 kafka-manager: image: sheepkiller/kafka-manager container_name: demo-kafka-manager environment: # 宿主机IP ZK_HOSTS: "zookeeper:2181" KAFKA_BROKERS: kafka1:9092,kafka2:9093 APPLICATION_SECRET: nuc12345 ports: - 9000:9000 depends_on: - zookeeper - kafka1 - kafka2 # demo demo: build: context: ./ restart: always container_name: demo image: demo:1.0.0 ports: - 10.211.55.5:8088:8088 volumes: - $PWD:/demo depends_on: - kafka-manager ``` https://blog.csdn.net/zhangcongyi420/article/details/105341576/ 关于上述的docker-compose.yml的配置文件的每一行解释,这里不再过多解释,可以参阅官方资料,需要补充几点说明 > 1、网络环境,可以使用docker命令创建一个网络,然后再在yml文件中指定自己的网络 > 2、kafka-manager,kafka客户端可视化控制台,可以根据需要选择性安装 > 3、如果需要继续增加kafka节点,参照kafka1和kafka2的配置继续追加接口 > 4、生产环境下,zookeeper是很重要的服务协调者,建议做成集群,即配置高可用 > 5、生产环境下,建议将zookeeper和kafka都配置上数据卷,方便运维和管理 > 6、需要将IP添加到受信任区[配置hostname之后,会自动映射] > 7、将所有用到的端口添加至防火墙[很重要] ```shell script # 添加所有端口至防火墙[生产环境不建议这样做] firewall-cmd --zone=public --add-port=0-65535/tcp --permanent && \ firewall-cmd --reload && \ firewall-cmd --list-ports ifconfig # IP添加到受信任区 firewall-cmd --zone=trusted --add-source=172.17.0.1/16 --permanent && \ firewall-cmd --zone=trusted --add-source=172.18.0.1/16 --permanent && \ firewall-cmd --zone=trusted --add-source=172.19.0.1/16 --permanent && \ firewall-cmd --reload && \ firewall-cmd --list-all-zones # IP从受信任区移除 firewall-cmd --zone=trusted --remove-source=172.16.0.1/16 --permanent && \ firewall-cmd --zone=trusted --remove-source=172.18.0.1/16 --permanent && \ firewall-cmd --zone=trusted --remove-source=172.31.0.1/16 --permanent && \ firewall-cmd --reload && \ firewall-cmd --list-all-zones ``` 文件权限 ```shell script # 普通操作权限 chmod -R 644 <文件|文件夹> # 最高权限 chmod -R 777 <文件|文件夹> ```