跳转至

Docker Compose 快速入门

基础配置示例

标准文件名称 docker-compose.yaml

关键特性说明:准备配置文件

YAML
services:
  my_mongodb:
    image: mongo
    container_name: my_mongodb
    environment:
      - MONGO_INITDB_ROOT_USERNAME=admin
      - MONGO_INITDB_ROOT_PASSWORD=testmg
    volumes:
      - /opt/app/datadir:/data/db
    networks:
      - network1
    restart: unless-stopped

  my_mongodb_express:
    image: mongo-express
    container_name: my_mongodb_express
    ports:
      - "8081:8081"
    environment:
      - ME_CONFIG_MONGODB_ENABLE_ADMIN=true
      - ME_CONFIG_MONGODB_SERVER=my_mongodb
      - ME_CONFIG_MONGODB_ADMINUSERNAME=admin
      - ME_CONFIG_MONGODB_ADMINPASSWORD=testmg
      - ME_CONFIG_BASICAUTH_USERNAME=adminweb
      - ME_CONFIG_BASICAUTH_PASSWORD=passweb
    networks:
      - network1
    depends_on:
      - my_mongodb
    restart: unless-stopped

networks:
  network1:
    driver: bridge

配置说明

  • 启动顺序:使用 depends_on 确保 my_mongodb_expressmy_mongodb 之后启动
  • 网络配置:创建名为 network1bridge 网络
  • 环境变量:完整保留了所有环境变量配置
  • 卷映射:保持相同的宿主机路径映射
  • 端口映射:保持相同的端口映射 8081:8081
  • 重启策略:添加了 restart: unless-stopped 确保容器异常退出时自动重启

注意事项

  • 这个配置文件定义了网络名称与容器名称,需要注意不要与本地宿主机冲突
  • 操作需要在 docker-compose.yaml 对应的目录,或者需要 -f 指定配置文件

Docker Compose 运行命令

常用操作命令

Bash
# 启动新容器
docker compose up -d

# 停止
docker compose stop

# 启动已停止的容器
docker compose start

# 停止并删除容器
docker compose down

# 启动非标准配置文件
docker compose -f /home/test.yaml up -d

# 查看运行状态
docker compose ps

# 重启单个服务
docker compose restart my_mongodb_express

# 进入容器命令行
docker compose exec my_mongodb_express /bin/bash

# 查看容器运行 log
docker compose logs my_mongodb_express -f