一:docker compose是什么
个人理解:就是一个网站的搭建可能需要,mysql,nginx等多个“小”服务,通过docker run一个一个搭建比较繁琐,而docker compose可以直接在(compose.yaml)配置文件里写好搭建一个网站所有的“小服务”,最后结果就是我只需要启动docker compose,就可以跑起来一个网站,下图是网上专业解释:
二:如何通过docker compose搭建nginx
在搭建之前,需要先知道部署nginx需要的环境,思路是:
1.用docker pull一个nginx,然后编写dockerfile配置好环境,docker build打包成一个镜像(前几篇文章里有,可以翻阅)
2.编写compose.ymal:(compose配置文件里不用特意注明version)
在当前配置文件所在目录下执行docker compose up(启动services里包含的所有容器):
查看与验证:(本机,虚拟机都可访问,如果本机访问不了可能是开了clash代理或者是防火墙问题)
![]()
三:(附:)docker compose基本命令:
启动服务:
docker-compose up:启动并运行docker-compose.yml中定义的所有服务。docker-compose up -d:在后台运行容器(分离模式)。docker-compose up --build:在启动前重新构建服务镜像。
停止服务:
docker-compose stop:停止运行中的容器,但不会删除容器。docker-compose down:停止并删除所有容器、网络和挂载卷。可以使用--volumes参数删除所有挂载的卷,使用--rmi all删除所有镜像。
查看服务状态和日志:
docker-compose ps:查看当前 Compose 管理的容器状态。docker-compose logs:查看服务的日志输出,可以使用-f实时输出日志,使用--tail n仅显示最近 n 行日志。
执行命令:
docker-compose exec <service> <command>:在指定服务的容器中执行命令。docker-compose run <service> <command>:在指定服务上启动一个新的容器实例并执行命令。
构建和验证:
docker-compose build:构建docker-compose.yml文件中定义的所有服务镜像。docker-compose config:验证docker-compose.yml文件的语法是否正确。