Docker-compose:服务编排
Docker-compose 介绍
服务编排:按照一定的业务规则批量管理容器
在微服务架构的应用系统中,一般包含 N 个微服务,且每个微服务一般都会部署多个实例。此时,如果每个微服务都要手动启停,维护的工作量会很大。
- 要从 Dockerfile build image 或者去 docker hub 拉取 image
- 要创建多个 container
- 要管理这些 container(启动/停止/删除)
- ...
Docker-compose
Docker-compose 是一个编排多容器分布式部署的工具,提供命令集来管理容器化应用的完整开发周期,包括服务构建,启动和停止。
使用步骤如下:
- 使⽤ Dockerfile 定义运行环境镜像,以便可以在任何地⽅复制它。
- 在 docker-compose.yml 中定义组成应⽤的各服务,以便它们可以在隔离的环境中⼀起运⾏。
- 运⾏ docker-compose up 来启动应用。
Docker-compose 安装
安装
macOS、Windows 系统使⽤的 Docker Desktop 默认已经安装 compose,Linux 系统安装方法则如下:
# 在安装 Compose 之前,需要先安装 Docker。下面以编译好的二进制包方式安装在 Linux 系统中
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置文件可执行权限
chmod +x /usr/local/bin/docker-compose
# 查看版本信息
docker-compose -version
卸载
# 二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose
Docker-compose 常用命令
- 查看配置:docker-compose config
- 后台启动:docker-compose up -d
- 构建镜像:docker-compose build
- 下载镜像:docker-compose pull
- 查看运⾏:docker-compose ps
- 进程:docker-compose top
- 启动:docker-compose start
- 停⽌:docker-compose stop
案例:编排 Nginx + SpringBoot 项目
- 创建 docker-compose 目录:
mkdir ~/docker-compose
cd ~/docker-compose
- 编写 docker-compose.yml 文件:
version: '3'
services:
nginx:
image: nginx
ports:
- 80:80
links:
- app
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
app:
image: app
expose:
- "8080"
- 创建 ./nginx/conf.d 目录:
mkdir -p ./nginx/conf.d
- 在 ./nginx/conf.d 目录下 编写 demo.conf 文件:
server {
listen 80;
access_log off;
location / {
proxy_pass http://app:8080;
}
}
- 在 ~/docker-compose 目录下使用 docker-compose 启动容器:
docker-compose up
- 测试访问:
http://192.168.149.135/hello
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2021-01-19 Unittest - HTMLTestRunner.py(新版)