docker compse简介与安装

目录

1. Docker Compose 简介

2. Docker Compose 安装

2.1 在 Ubuntu 上安装 Docker Compose

2.1.1 通过 apt 安装

2.1.2 使用官方脚本安装最新版本

2.2 在 CentOS 上安装 Docker Compose

2.2.2 使用官方脚本安装最新版本

2.2.3 使用 pip 安装

2.3 在 openEuler 上安装 Docker Compose

2.3.1 使用官方脚本安装最新版本

2.2.2 检查并通过 dnf 安装 Docker Compose

2.3.3 使用 pip 安装

3. Docker Compose 测试示例

3.1 目录结构:

3.2 docker-compose.yml 文件内容:

3.3 html/index.html 内容示例:

3.4 启动服务

3.5 访问 Web 服务

3.6 看能出现问题

3.6.1 解决端口冲突

3.6.2 停止并移除服务

4.docker compose常用命令

4.1 启动和停止服务

4.1.1 启动服务

4.1.3 停止并移除容器、网络、卷

4.2 构建和管理服务

4.2.1 构建或重建服务

4.2.2 拉取服务的镜像

4.2.3 重新启动服务

4.3  监控和调试

4.3.1 查看服务的日志

4.3.2 列出当前项目的所有容器

4.3.3 查看服务的状态

4.4 扩展和缩放服务

4.4.1 扩展服务

4.5 运行一次性命令和任务

4.5.1 在服务容器中运行命令

4.5.2 运行一次性任务

4.6 配置管理

4.6.1 查看配置

4.6.2 列出定义的服务


Docker Compose 需要在已经安装了 Docker 的基础上进行安装

Docker安装参考:Ubuntu、centos、openEuler安装docker-CSDN博客

Docker与compose的区别:Docker 和 Docker Compose 的区别对比-CSDN博客

1. Docker Compose 简介

        Docker Compose 是一个用于定义和管理多容器 Docker 应用程序的工具。通过编写一个简单的 YAML 文件 (docker-compose.yml),您可以定义应用的服务、网络和卷,并通过一个命令来启动、停止或管理整个应用程序的各个容器。Docker Compose 主要用于以下场景:

  • 微服务架构:管理由多个微服务组成的应用程序。
  • 本地开发环境:为开发者提供一致的本地环境,方便调试和测试。
  • 自动化测试:快速启动和销毁测试环境。

2. Docker Compose 安装

根据您的操作系统,选择以下安装方法。

2.1 在 Ubuntu 上安装 Docker Compose

2.1.1 通过 apt 安装

1.更新软件包索引:

sudo apt update

2.安装 Docker Compose:

sudo apt install docker-compose

3.验证安装:

docker-compose --version

2.1.2 使用官方脚本安装最新版本

1.下载最新版本:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.赋予执行权限:

sudo chmod +x /usr/local/bin/docker-compose

3.验证安装:

docker-compose --version

2.2 在 CentOS 上安装 Docker Compose

2.2.1 通过 EPEL 安装

1.启用 EPEL 仓库:

sudo yum install epel-release

2.安装 Docker Compose:

sudo yum install docker-compose

3.验证安装:

docker-compose --version

2.2.2 使用官方脚本安装最新版本

1.下载最新版本:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.赋予执行权限:

sudo chmod +x /usr/local/bin/docker-compose

3.验证安装:

docker-compose --version

2.2.3 使用 pip 安装

1.安装 pip:

sudo yum install python3-pip

2.通过 pip 安装 Docker Compose:

sudo pip3 install docker-compose

3.验证安装:

docker-compose --version

2.3 在 openEuler 上安装 Docker Compose

openEuler 与 CentOS 类似,但在某些方面有所不同。以下是两种推荐的安装方法。

2.3.1 使用官方脚本安装最新版本

1.下载最新版本:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.赋予执行权限:

sudo chmod +x /usr/local/bin/docker-compose

3.验证安装:

docker-compose --version

2.2.2 检查并通过 dnf 安装 Docker Compose

1.更新软件包索引:

sudo dnf update

2.搜索 Docker Compose 包:

sudo dnf search docker-compose

如果存在可用的 Docker Compose 包,您会在结果中看到。

3.安装 Docker Compose:

如果搜索结果中显示了 Docker Compose,可以直接使用以下命令安装:

sudo dnf install docker-compose

4.验证安装:

docker-compose --version

2.3.3 使用 pip 安装

1.安装 pip:

sudo dnf install python3-pip

2.通过 pip 安装 Docker Compose:

sudo pip3 install docker-compose

3.验证安装:

docker-compose --version

3. Docker Compose 测试示例

创建一个简单的 docker-compose.yml 文件,包含一个 Nginx 服务和一个 MySQL 数据库服务。

3.1 目录结构:

my_project/

├── docker-compose.yml
└── html/
    └── index.html

3.2 docker-compose.yml 文件内容:

version: '3.8'

services:
  web:
    image: nginx:latest
    ports:
      - "8081:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    depends_on:
      - db

  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: testdb
      MYSQL_USER: testuser
      MYSQL_PASSWORD: testpassword
    ports:
      - "3306:3306"
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:
 

3.3 html/index.html 内容示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Docker Compose Test</title>
</head>
<body>
    <h1>Docker Compose is working!</h1>
</body>
</html>

3.4 启动服务

docker-compose up -d

3.5 访问 Web 服务

在浏览器中访问 http://localhost:8081,您应该看到页面显示 “Docker Compose is working!”。

3.6 看能出现问题

3.6.1 解决端口冲突

如果遇到端口冲突错误,您可以:

1.查找并终止占用端口的进程。

sudo lsof -i :8080 sudo kill <PID>

2.修改 docker-compose.yml 文件中的端口,使用未占用的端口。

3.6.2 停止并移除服务

docker-compose down

4.docker compose常用命令

4.1 启动和停止服务

4.1.1 启动服务

docker-compose up

这个命令会启动 docker-compose.yml 文件中定义的所有服务。如果添加 -d 参数,服务将在后台运行(detached 模式):

docker-compose up -d

4.1.2 停止服务

docker-compose stop

这个命令会停止正在运行的所有服务,但不会移除容器。

4.1.3 停止并移除容器、网络、卷

docker-compose down

这个命令会停止所有服务,并移除创建的容器、网络和卷。如果您想移除关联的数据卷,可以添加 -v 选项:

docker-compose down -v

4.2 构建和管理服务

4.2.1 构建或重建服务

docker-compose build

这个命令根据 Dockerfile 构建镜像。如果只想构建某个服务,可以指定服务名:

docker-compose build <service_name>

4.2.2 拉取服务的镜像

docker-compose pull

这个命令会从远程仓库拉取 docker-compose.yml 文件中定义的镜像。

4.2.3 重新启动服务

docker-compose restart

这个命令会重启所有运行中的服务。

4.3  监控和调试

4.3.1 查看服务的日志

docker-compose logs

这个命令会显示所有服务的日志。如果只想查看某个服务的日志,可以指定服务名:

docker-compose logs <service_name>

4.3.2 列出当前项目的所有容器

docker-compose ps

这个命令会显示当前项目中所有容器的状态和端口映射等信息。

4.3.3 查看服务的状态

docker-compose top

这个命令会显示当前运行的容器及其相关的进程信息。

4.4 扩展和缩放服务

4.4.1 扩展服务

docker-compose up --scale <service_name>=<replica_count>

这个命令会将指定的服务扩展到指定的副本数。例如,扩展 web 服务到 3 个实例:

docker-compose up --scale web=3

4.5 运行一次性命令和任务

4.5.1 在服务容器中运行命令

docker-compose exec <service_name> <command>

这个命令允许您在指定的服务容器中执行命令。例如,在 web 服务容器中打开 Bash shell:

docker-compose exec web bash

4.5.2 运行一次性任务

docker-compose run <service_name> <command>

这个命令会启动一个新的容器并运行指定的命令,然后停止并移除该容器。例如:

docker-compose run web echo "Hello, Docker Compose!"

4.6 配置管理

4.6.1 查看配置

docker-compose config

这个命令会显示当前项目的配置内容,包括合并的配置文件。

4.6.2 列出定义的服务

docker-compose config --services

这个命令会列出 docker-compose.yml 文件中定义的所有服务。

  • 22
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值