狂神说学习笔记:Docker进阶-Docker Compose
1|0Docker Compose
https://docs.docker.com/compose/
1|1简介
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration. To learn more about all the features of Compose, see the list of features.
Compose works in all environments: production, staging, development, testing, as well as CI workflows. You can learn more about each case in Common Use Cases.
Using Compose is basically a three-step process:
- Define your app’s environment with a
Dockerfile
so it can be reproduced anywhere.- Define the services that make up your app in
docker-compose.yml
so they can be run together in an isolated environment.- Run
docker compose up
and the Docker compose command starts and runs your entire app. You can alternatively rundocker-compose up
using the docker-compose binary.
Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。借助 Compose,您可以使用 YAML 文件来配置应用程序的服务。然后,使用单个命令,从配置中创建并启动所有服务。
Compose 适用于所有环境:生产、登台、开发、测试以及 CI 工作流。
使用 Compose 基本上是一个三步过程:
- 使用 定义您的应用程序的环境,
Dockerfile
以便它可以在任何地方复制。 - 定义组成您的应用程序的服务,
docker-compose.yml
以便它们可以在隔离的环境中一起运行。 - 运行
docker compose up
和docker compose command
启动并运行你的整个应用程序。您也可以docker-compose up
使用 docker-compose 二进制文件运行。
作用:批量容器编排
Compose 是Docker官方的开源项目。需要安装!
Dockerfile
让程序在任何地方运行。
一个docker-compose.yml
看起来像这样:
1|2安装
1、下载
2、授权
1|3体验
地址:https://docs.docker.com/compose/gettingstarted/
1、应用 app.py
-
为项目创建一个目录:
-
创建一个 app.py 文件 并写入:
-
创建 requirements.txt 文件并写入
2、Dockerfile 应用打包为镜像
-
创建 Dockerfile
这告诉 Docker:
- 从 Python 3.7 映像开始构建映像。
- 将工作目录设置为
/code
. - 设置
flask
命令使用的环境变量。 - 安装 gcc 和其他依赖项
- 复制
requirements.txt
并安装 Python 依赖项。 - 将元数据添加到图像以描述容器正在侦听端口 5000
- 将
.
项目中的当前目录复制到.
镜像中的workdir 。 - 将容器的默认命令设置为
flask run
.
3、创建 docker-compose.yml
文件 (定义整个服务,需要的环境。web、redis)
这个 Compose 文件定义了两个服务:web
和redis
.
4、启动compose 项目(docker-compose up)
自动默认规则
docker images
默认的服务名 文件名_ 服务名_ num
多个服务器。集群。
redis服务=>4个副本
集群状态。服务都不可能只有一个运行实例。弹性。
网络规则
10个服务 => 项目( 项目中的内容都在通过网络下。域名访问)
如果在同一个网络下,我们可以直接通过域名访问。
停止 Ctrl + C
需要在项目目录下输入这个命令
docker-compose
以前都是单个docker run启动容器
现在通过docker-compose 编写yaml配置文件、可以通过compose一键启动所有服务、!
小结:
1、Docker镜像。 run => 容器
2、DockerFile 构建镜像(服务打包)
3、docker-compose 启动项目(编排、多个微服务/环境)
4、Docker 网络!
compose配置编写规则
docker-compose.yaml 核心!
https://docs.docker.com/compose/compose-file/
1|4使用compose 一键部署 WP 博客
https://docs.docker.com/samples/wordpress/
1、创建一个空的项目目录。
2、创建一个docker-compose.yml
文件来启动您的 WordPress
博客和一个单独的MySQL
实例,该实例具有用于数据持久性的卷挂载:
3、docker-compose up -d
启动项目
然后一步步进行就OK了!
非常简单!
1|5实战
1、创建一个springboot新项目
导入依赖
写一个计数器
编写application.yml
2、dockerfile构建镜像
3、docker-compose.yaml 编排项目
4、丢到服务器 docker-compose up
测试
假设项目要重新部署打包
总结:
工程、服务、容器
项目compose:三层
- 工程 Project
- 服务 服务
- 容器 运行实例!
__EOF__

本文链接:https://www.cnblogs.com/dt746294093/p/16831787.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)