version: '3.8' services: # Guacamole 后端守护进程 (guacd) guacd: image: guacamole/guacd:latest container_name: guacd restart: always volumes: - guacd-drive:/drive networks: - guacamole-net # MySQL 数据库 guacamole-db: image: mysql:8.0 container_name: guacamole-db restart: always environment: MYSQL_ROOT_PASSWORD: guacamole_root_pwd MYSQL_DATABASE: guacamole_db MYSQL_USER: guacamole_user MYSQL_PASSWORD: guacamole_pwd volumes: - guacamole-db-data:/var/lib/mysql - ./init:/docker-entrypoint-initdb.d networks: - guacamole-net # Guacamole Web 应用 guacamole: image: guacamole/guacamole:latest container_name: guacamole restart: always depends_on: - guacd - guacamole-db environment: GUACD_HOSTNAME: guacd MYSQL_HOSTNAME: guacamole-db MYSQL_DATABASE: guacamole_db MYSQL_USER: guacamole_user MYSQL_PASSWORD: guacamole_pwd ports: - "127.0.0.1:8080:8080" # 只监听本地,外部无法直接访问 networks: - guacamole-net networks: guacamole-net: driver: bridge volumes: guacamole-db-data: guacd-drive: