🍁 Docker-Compose

## 现存问题 在上节,我们运行了两个容器:Web 项目 + Redis 如果项目依赖更多的第三方软件,我们需要管理的容器就更加多,每个都要单独配置运行,指定网络。 这节,我们使用 docker-compose 把项目的多个服务集合到一起,一键运行。 >s 本文档课件配套 [视频教程](https://www.bilibili.com/video/BV11L411g7U1?p=6) ## 安装 Docker Compose - 如果你是安装的桌面版 Docker,不需要额外安装,已经包含了。 - 如果是没图形界面的服务器版 Docker,你需要单独安装 [安装文档](https://docs.docker.com/compose/install/#install-compose-on-linux-systems) - 运行`docker-compose`检查是否安装成功 ## 编写脚本 要把项目依赖的多个服务集合到一起,我们需要编写一个`docker-compose.yml`文件,描述依赖哪些服务 参考文档:[https://docs.docker.com/compose/](https://docs.docker.com/compose/) ```yaml version: "3.7" services: app: build: ./ ports: - 80:8080 volumes: - ./:/app environment: - TZ=Asia/Shanghai redis: image: redis:5.0.13 volumes: - redis:/data environment: - TZ=Asia/Shanghai volumes: redis: ``` >w 容器默认时间不是北京时间,增加 TZ=Asia/Shanghai 可以改为北京时间 ## 跑起来 在`docker-compose.yml` ==文件所在目录==,执行:`docker-compose up`就可以跑起来了。 命令参考:[https://docs.docker.com/compose/reference/up/](https://docs.docker.com/compose/reference/up/) 在后台运行只需要加一个 -d 参数`docker-compose up -d` 查看运行状态:`docker-compose ps` 停止运行:`docker-compose stop` 重启:`docker-compose restart` 重启单个服务:`docker-compose restart service-name` 进入容器命令行:`docker-compose exec service-name sh` 查看容器运行log:`docker-compose logs [service-name]` >d 觉得老师讲得不错的话,记得点赞、关注、分享,鼓励下老师 你们的鼓励会让老师更加有动力继续创造更多更好的内容 你可以到 [Github issue](https://github.com/gzyunke/test-docker/issues) 给我提问或反馈遇到的问题。