docker-compose.yml 文件,如何创建?
docker-compose.yml 文件不需要在 Docker Desktop 里创建,你可以 在 Mac 的终端 (Terminal) 里创建,然后用 docker-compose up -d 启动容器。
🛠 1️⃣ 创建 docker-compose.yml 文件
✅ 方式 1:使用终端(推荐)
-
打开终端 (Terminal)
-
选择存放
docker-compose.yml的目录,例如:mkdir ~/docker-projects && cd ~/docker-projects -
创建
docker-compose.yml文件touch docker-compose.yml -
编辑
docker-compose.yml- 可以使用 nano 编辑(简单):
nano docker-compose.yml - 或者 用 VS Code 打开:
code docker-compose.yml - 示例内容(完整版本,在原来的基础上新增了 Elasticsearch 和 Kibana 服务,并定义了 volumes 和 networks,保持统一管理和互通):
services: zookeeper: image: 'bitnami/zookeeper:3.8.1' container_name: zookeeper restart: always environment: - ALLOW_ANONYMOUS_LOGIN=yes ports: - "2181:2181" kafka: image: 'bitnami/kafka:3.5.1' container_name: kafka restart: always depends_on: - zookeeper environment: - KAFKA_BROKER_ID=1 - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 - KAFKA_LISTENERS=PLAINTEXT://:9092 - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 - ALLOW_PLAINTEXT_LISTENER=yes - KAFKA_KRAFT_MODE=false ports: - "9092:9092" redis: image: redis:7.2.4 container_name: redis restart: always ports: - "6379:6379" elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.17.4-amd64 container_name: elasticsearch environment: - discovery.type=single-node - ES_JAVA_OPTS=-Xms512m -Xmx512m -Dlog4j2.disable.jmx=true ports: - "9200:9200" - "9300:9300" volumes: - es-data:/usr/share/elasticsearch/data networks: - backend deploy: resources: limits: memory: 2g kibana: image: docker.elastic.co/kibana/kibana:7.17.4 container_name: kibana depends_on: - elasticsearch environment: - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 ports: - "5601:5601" networks: - backend volumes: es-data: networks: backend: driver: bridge
- 可以使用 nano 编辑(简单):
-
保存文件(如果使用
nano,按Ctrl + X→Y→Enter)。
🛠 2️⃣ 运行 docker-compose.yml
✅ 启动所有容器
docker compose up -d
(-d 代表后台运行)
✅ 查看运行状态
docker ps
✅ 停止容器(停止并删除所有由当前 docker-compose.yml 文件启动的容器、网络)
docker compose down
🚀 总结
- 直接在终端(Terminal)里创建
docker-compose.yml - 使用
nano或 VS Code 编辑文件 - docker compose up -d` 启动 Kafka、Zookeeper、Redis、ElasticSearch、Kibana
- 使用
docker ps查看容器状态 - 需要时用
docker-compose down停止所有容器
这样,你的中间件环境就搭建好了 🎯 🚀
浙公网安备 33010602011771号