学习参考:尚硅谷Docker实战教程、Docker官网、其他优秀博客(参考过的在文章最后列出)
目录
前言
在使用k8s之前,随着容器数量的增加,如何对容器进行管理是一件重要的事情。例如容器之间的启动顺序管理、容器之间的网络调用管理等等。实际的开发环境和生产环境可不只是向我们刚刚开始学习时候就那几个简单的容器,复杂的容器关系也是必须处理好的一个重要任务。docker-compose就是为了解决这样的问题。
一、docker compose介绍
Docker-Compose是Docker官方的开源项目, 负责实现对Docker容器集群的快速编排。
Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YAML 文件来配置应用程序的服务。然后,使用单个命令,您可以根据配置创建并启动所有服务。
Compose 适用于所有环境:生产、预生产环境、开发、测试以及 CI 工作流程。它还具有用于管理应用程序整个生命周期的命令:
- 启动、停止和重建服务
- 查看正在运行的服务的状态
- 流式传输正在运行的服务的日志输出
- 在服务上运行一次性命令
二、docker compose能干嘛
Compose 使其有效的主要功能包括:
- 在单个主机上拥有多个隔离环境
- 创建容器时保留卷数据
- 仅重新创建已更改的容器
- 支持变量并在环境之间移动组合
就像是Spring一样,管理者哥哥对象的生命周期,和相关的操作。
docker建议我们每一个容器中只运行一个服务,因为docker容器本身占用资源极少,所以最好是将每个服务单独的分割开来但是这样我们又面临了一个问题?
如果我需要同时部署好多个服务,难道要每个服务单独写Dockerfile然后在构建镜像,构建容器,这样累都累死了,所以docker官方给我们提供了docker-compose多服务部署的工具
例如要实现一个Web微服务项目,除了Web服务容器本身,往往还需要再加上后端的数据库mysql服务容器,redis服务器,注册中心eureka,甚至还包括负载均衡容器等等。。。。。。
Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。
可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。Docker-Compose 解决了容器与容器之间如何管理编排的问题。
三、docker compose安装与卸载
官网
https://docs.docker.com/compose/compose-file/compose-file-v3/
官网下载
https://docs.docker.com/compose/install/
3.1 docker-compose安装
如图,在官网上可以看到,安装,单机版安装,卸载3个目录。可以参考进一步学习。
这里先贴出来我的docker版本(24.0.2),官网现在推荐使用
compose V2
了,版本太低也可以使用,但是V1将不会更新了。变化不是很多。后续会写一个V1和V2的对比,目前可以参考,官网的Migrate to Compose V2
- 如果版本太低,先更新一下docker的版本 要安装最新版本,请运行:
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 下载安装
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}mkdir-p$DOCKER_CONFIG/cli-pluginscurl-SL https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-linux-x86_64 -o$DOCKER_CONFIG/cli-plugins/docker-compose
此命令下载最新版本的 Docker Compose(从 Compose 版本存储库)并在$HOME
目录下为当前用户安装 Compose。tips:
- 为系统上的所有用户使用 Docker Compose,将~/.docker/cli-plugins
替换为/usr/local/lib/docker/cli-plugins
。- 不同版本的 Compose,将v2.19.1
替换为要使用的 Compose 版本。- 对于不同的架构,请将x86_64
替换为想要的架构。 我这里为全部用户安装,命令如下:DOCKER_CONFIG=${DOCKER_CONFIG:-/usr/local/lib/docker/cli-plugins}mkdir-p$DOCKER_CONFIG/cli-pluginscurl-SL https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-linux-x86_64 -o$DOCKER_CONFIG/cli-plugins/docker-compose
- 对文件应用可执行权限:
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
- 测试安装是否成功
docker compose version #之前的v1版本命令是docker-compose --version
到这里就安装成功了!
3.2 docker-compose卸载
rm$DOCKER_CONFIG/cli-plugins/docker-compose
这就不演示了,刚刚装上,就不卸载了。
总结
下一篇内容将会写去使用docker compose。
其他说明
版权归原作者 砖瓦程序猿 所有, 如有侵权,请联系我们删除。