Docker compose简介
什么是Docker compose
Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。它使得开发者可以使用一个单独的 YAML 文件来定义应用所需的所有服务、网络和卷,从而简化了多容器应用的配置和管理。
核心概念
服务(Services):
服务是一个独立的容器,它们可以相互通信。每个服务通常对应一个 Docker 容器,可以通过在 docker-compose.yml 文件中定义多个服务来创建一个完整的应用程序栈。例如,一个 Web 应用可能包括一个 web 服务(运行 Web 服务器)和一个 db 服务(运行数据库)。
网络(Networks):
Docker Compose 允许你定义多个网络,这样不同的服务可以通过网络互相通信。默认情况下,所有的服务都连接到默认的网络中。你也可以自定义网络,以控制服务之间的通信。
卷(Volumes):
卷用于持久化容器的数据。你可以在 docker-compose.yml 文件中定义卷,并在服务中使用它们,以确保数据在容器重新启动或重新创建时不会丢失。
优势
简化多容器应用管理: 通过一个文件定义所有服务,简化了管理和配置。
环境一致性: 在不同环境(开发、测试、生产)中使用相同的配置,确保一致性。
自动化: 通过简单的命令可以轻松地启动、停止和管理应用的整个生命周期。
安装
需要先安装docker
这里采用离线安装的方式
wget https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
看到版本就是安装成功了
常用命令
1.docker-compose up:启动并运行 docker-compose.yml 文件中定义的所有服务。你可以添加 -d 选项以在后台运行服务。
docker-compose up -d
2.docker-compose down:停止并移除 docker-compose.yml 文件中定义的所有服务和网络。
docker-compose down
3.docker-compose ps:列出当前运行的所有服务。
docker-compose ps
4.docker-compose logs:查看服务的日志。
docker-compose logs
5.docker-compose exec:在运行的容器内执行命令。
docker-compose exec web bash
总结
Docker Compose 是一个强大的工具,通过简单的配置文件和命令行工具,帮助开发者和运维人员更高效地管理多容器应用。它不仅简化了应用的配置和部署,还提高了环境的一致性和可维护性。