首页 > 其他分享 >docker compse简介与安装

docker compse简介与安装

时间:2024-08-15 10:57:13浏览次数:14  
标签:Compose 服务 简介 compose docker 安装 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、构建一个简单的 Nginx 镜像-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 文件中定义的所有服务。

标签:Compose,服务,简介,compose,docker,安装,Docker,compse
From: https://blog.csdn.net/FHY26828/article/details/141005299

相关文章

  • docker修改镜像地址后不生效
    前面已经完成镜像源的更换编辑Docker配置文件/etc/docker/daemon.json{"registry-mirrors":["https://docker.fxxk.dedyn.io/"]}重启dockersystemctldaemon-reloadsystemctlrestartdocker解决方法下面是解决docker镜像源不起作用的问题的具体步骤:步骤......
  • docker-compose 一键部署多个微服务
    如果部署微服务项目的话,多个服务需要启动,如果用dockerrun一个一个启动效率实在是太慢了可以用docker-compose一键启动多个服务第一步:服务打成jar之后每个服务一个文件夹并把Dockerfile加进去第二步:编写docker-compose.yml文件version:'3.8'services:sdss-bas......
  • 问题--Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the
     上班后发现服务不在线,docker也无法启动,检查daemon.json配置文件出问题了 。 检查:#查看docker内全部进程dockerps提示错误:CannotconnecttotheDockerdaemonatunix:///var/run/docker.sock.TSthedockerdaemonrunning? #查看docker状态systemctls......
  • Dockerfile
    使用Dockerfile可以允许用户创建自定义的镜像。Dockerfile基本结构Dockerfile由一行行命令语句组成,并且支持以#开头的注释行。一般的,Dockerfile分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。例如#Thisdockerfileusestheubunt......
  • 一键自动化安装Docker
    一、Docker背景在我们安装Docker时候需要配置网络类型flannel+etcd,在多台服务器中脚本可以大大解决安装配置速度我们这里的Docker版本以docker-20.10.24为例;根据个人需求可更换二、一键自提:链接:https://pan.baidu.com/s/1BT5_r0WUX5nhRRNLvSafiw?pwd=j6k5提取码:j6k5三、脚......
  • Superset Docker-Compose部署
    bi系统是一类旨在帮助企业和组织分析、可视化和理解其业务数据的软件工具之前了解过商业的阿里quickbi,腾讯bi,开源的话用superset,据了解新老公司不少会调研supersethttps://github.com/apache/superset/releases/tag/4.0.2这里我使用了最新的包,经过测试发现一年前的镜像更新到......
  • 【VCG学习篇之前置】最清晰的VCGLib简介与环境配置(Windows)
    写于2024/08/13目录一、什么是VCG1.背景2.功能3.特性4.应用二、环境配置1.下载VCGLib2.项目创建与属性配置(1)项目创建(2)属性配置(3)错误解决3.样例测试三、文件说明无论在学什么之前,首先要了解你要去探索的东西它的一些特性,用途,把它的骨架画好,再基于这个骨架去逐步完善和修改。本......
  • 在虚拟机CentOS中安装docker
    公众号本文地址:在虚拟机CentOS中安装Docker1、关闭防火墙docker需要用到网络,所以需要关闭防火墙。进入管理员模式获得权限后进行关闭。su关闭防火墙:systemctldisablefirewalldsystemctlstopfirewalld2、禁用selinux(1)进入配置文件vim/etc/selinux/configvim/etc/......
  • 部署--项目打成 jar 包后部署为Docker镜像
     在Java项目打成jar包后,可以通过Docker容器进行部署。 1.打包Java项目为jar文件mvncleanpackage完成后会在本地目录target下生成jar文件。如: 2.文件上传将jar包上传到制定的目录下。(如:我的是 control包放在目录/home/dockerdata/docke......
  • docker-compose部署tdengine 3.3.0.0集群
    说明:官方文档提供dockerswarm部署多台服务器集群方式,不适用于公司目前部署方式,故研究多台服务器docker部署集群目前只是部署,还未生产使用,仅供参考一、环境:服务器3台,系统为Ubuntu20.04.4LTSemscluster0110.1.1.103emscluster0210.1.1.104emscluster0310.1.1.105......