Docker之docker compose!!!!

一、概述

是 Docker 官方提供的一款开源工具,主要用于简化在单个主机上定义和运行多容器 Docker 应用的过程。它的核心作用是容器编排,使得开发者能够在一个统一的环境中以声明式的方式管理多容器应用的服务及其依赖关系。

也就是说Docker Compose是一个用于定义和运行多个Docker容器的工具。它使用YAML文件来定义应用程序的服务、网络和卷等配置,然后使用单个命令即可启动、停止和管理整个应用程序的多个容器。

二、使用Docker Compose的简要步骤如下:

  1. 创建一个YAML文件(通常命名为 docker-compose.yml ),用于定义应用程序的服务、网络和卷等配置。

  2. 在YAML文件中定义服务,包括容器的镜像、端口映射、环境变量、依赖关系等。

  3. 运行 docker-compose up 命令,Docker Compose将根据YAML文件中的配置启动和管理容器。

  4. 使用 docker-compose down 命令停止和删除由Compose创建的容器。

三、安装

1、下载镜像

复制代码
yum install docker-compose

2、 创建一个yml文件

以下是一个简单的Docker Compose示例:

复制代码
version: '3'
services:
   web:
     image: nginx:latest
     ports:
       - 0:80
     volumes: 
       - /opt/wms-web/:/usr/share/nginx/html/
   db: 
     image: mysql:latest
     ports:
       - 0:3306
     environment: 
       MYSQL_ROOT_PASSWORD: 123456
     volumes: 
       - /opt/db/:/var/lib/mysql/

3、在这个示例中,我们定义了两个服务: web 和 db 。

web 服务使用了 nginx:latest 镜像,并将主机的3888端口映射到容器的80端口。还定义了一个卷,将主机的 ./opt/wms-web 目录映射到容器的 /usr/share/nginx/html 目录。

db 服务使用了 mysql:latest 镜像,并设置了一个环境变量 MYSQL_ROOT_PASSWORD 。还定义了一个卷,将主机的 ./opt/db 目录映射到容器的 /var/lib/mysql 目录。

通过运行 docker-compose up 命令,Docker Compose将启动这两个容器,并根据定义的配置进行设置。这样,我们就可以同时运行和管理这两个容器,它们可以相互通信和交互。
4、启动 (进入你创建yml目录下进行启动)

复制代码
docker-compose up

守护进程启动
docker-compose up -d   

5、查看

复制代码
docker ps

6、访问

7、启动多个 (同样进入yml文件所在目录进行操作)

复制代码
web为你配置文件中的web
docker-compose scale web=5
相关推荐
小宁爱Python5 分钟前
Windows Docker Desktop占用C盘空间过大解决办法集合
运维·docker·容器
JAVA学习通37 分钟前
发布自己的 jar 包到 Maven 中央仓库 ( mvnrepository.com )
人工智能·docker·自然语言处理·容器·rocketmq
恒创科技HK1 小时前
如何选30G、60G、100G的香港高防服务器?
运维·服务器
wanhengidc1 小时前
云手机 手游专用虚拟手机
运维·服务器·安全·游戏·智能手机
檀越剑指大厂1 小时前
【Linux系列】Vim 中删除当前光标到行尾
linux·运维·vim
菠萝吹雪ing1 小时前
GUI 自动化与接口自动化:概念、差异与协同落地
运维·笔记·程序人生·自动化·接口测试·gui测试
周之鸥2 小时前
从零部署 Astro 静态网站到云服务器(含 HTTPS 一键配置)
运维·服务器·ubuntu·http·https·astro
noravinsc3 小时前
centos如何做的时间同步
linux·运维·centos
木亦汐丫4 小时前
Docker 镜像版本Alpine、Slim、Bookworm、Bullseye、Stretch、Jessie
运维·docker·容器·debian·alpine·slim·bullseye
李元豪4 小时前
919服务器巡检
运维·服务器·servlet