SuperAPI AI 工具集

docker-local

部署与运维

查看项目

更新于 10-16 05:07

技能介绍

用途:用于处理自定义 Docker Compose 本地开发环境(明确为非 DDEV),适用于基于 Docker 的本地环境、容器配置与排查场景。

主要能力与用法:先做环境检测,可列出 docker-compose*.yml、compose*.yml、.env*、Makefile、docker/、scripts/ 等文件确认项目结构。常用命令包括 docker compose up -d 后台启动、docker compose up -d --build 重建启动、docker compose down 停止并删除容器、docker compose down -v 同时删除卷(会丢失数据)、docker compose exec <service> <cmd> 在服务内执行命令、docker compose run --rm <service> <cmd> 执行一次性命令、docker compose ps 与 docker compose logs -f <service> 查看状态与日志。

Drupal 常见服务命名:PHP/Web 常为 php、web、app、drupal、php-fpm;数据库为 db、mysql、mariadb、postgres;缓存为 redis、memcached;搜索为 solr、elasticsearch。Drush 可用 docker compose exec php ./vendor/bin/drush cr 执行。数据库导入导出示例:docker compose exec -T db mysql -u root -p<password> <database> < dump.sql;docker compose exec db mysqldump -u root -p<password> <database> > dump.sql。

排查要点:端口冲突可用 sudo lsof -i :80 查看;容器无法启动可先看 docker compose logs <service>,再 docker compose down && docker compose up -d --build;权限问题可 docker compose exec php chown -R www-data:www-data /var/www/html/web/sites/default/files;容器间通过服务名互访(如 host: db),可用 docker network inspect <project>_default 检查网络。

环境变量:Docker Compose 会自动加载 .env,例如 COMPOSE_PROJECT_NAME、MYSQL_ROOT_PASSWORD、MYSQL_DATABASE。

限制与说明:命令中具体密码、数据库名需按实际环境替换;down -v 会删除卷并造成数据丢失;macOS 上建议使用 :cached 卷标志并为 vendor/ 使用命名卷以提升性能。其余细节暂未提供。