docker-compose.yml 文件,如何创建?

docker-compose.yml 文件不需要在 Docker Desktop 里创建,你可以 在 Mac 的终端 (Terminal) 里创建,然后用 docker-compose up -d 启动容器。


🛠 1️⃣ 创建 docker-compose.yml 文件

✅ 方式 1:使用终端(推荐)

  1. 打开终端 (Terminal)

  2. 选择存放 docker-compose.yml 的目录,例如:

    mkdir ~/docker-projects && cd ~/docker-projects
    
  3. 创建 docker-compose.yml 文件

    touch docker-compose.yml
    
  4. 编辑 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
      
  5. 保存文件(如果使用 nano,按 Ctrl + XYEnter)。


🛠 2️⃣ 运行 docker-compose.yml

✅ 启动所有容器

docker compose up -d

-d 代表后台运行)

✅ 查看运行状态

docker ps

✅ 停止容器(停止并删除所有由当前 docker-compose.yml 文件启动的容器、网络)

docker compose down

🚀 总结

  1. 直接在终端(Terminal)里创建 docker-compose.yml
  2. 使用 nano 或 VS Code 编辑文件
  3. docker compose up -d` 启动 Kafka、Zookeeper、Redis、ElasticSearch、Kibana
  4. 使用 docker ps 查看容器状态
  5. 需要时用 docker-compose down 停止所有容器

这样,你的中间件环境就搭建好了 🎯 🚀

posted on 2025-02-11 00:26  九七年的菠萝啤  阅读(892)  评论(0)    收藏  举报