# docker-compose.yml (最终版 - 使用命名卷) services: edge-proxy: image: 192.168.0.75:3000/guanyuankai/bonus-edge-proxy:latest container_name: edge-proxy-prod platform: linux/arm64 network_mode: "host" privileged: true devices: - /dev/ttyS7:/dev/ttyS7 - /dev/ttyS9:/dev/ttyS9 - /dev/snd:/dev/snd - /dev/mpp_service:/dev/mpp_service - /dev/rga:/dev/rga - /dev/dri:/dev/dri - source: /sys/bus/iio/devices/iio:device0 target: /sys/bus/iio/devices/iio:device0 group_add: - "20" - "44" - "110" - "29" volumes: # ----------------- (关键变更) ----------------- # 不再使用 - ./prod_config:/app/config # 改为使用 Docker 命名卷 'prod_config_data' # 这将自动使用镜像中的 /app/config 作为初始数据 - prod_config_data:/app/config # ----------------- (变更结束) ----------------- - /tmp/.X11-unix:/tmp/.X11-unix:rw environment: - DISPLAY=$DISPLAY dns: - 8.8.8.8 - 114.114.114.114 depends_on: - mqtt-broker media-gateway: image: bluenviron/mediamtx:latest container_name: media-gateway network_mode: "host" privileged: true volumes: - ./mediamtx.yml:/mediamtx.yml mqtt-broker: image: eclipse-mosquitto:2.0 container_name: mqtt-broker restart: unless-stopped ports: - "1883:1883" volumes: - ./mosquitto/config:/mosquitto/config - ./mosquitto/data:/mosquitto/data - ./mosquitto/log:/mosquitto/log # ----------------- (关键变更) ----------------- # 在 'services:' 之外的顶层定义 'prod_config_data' volumes: prod_config_data: # ----------------- (变更结束) -----------------