centos7 下使用 Docker Compose

ops/2024/12/26 23:16:47/

文章目录

    • 介绍
    • 特点
    • 基本使用
      • 1.编写 docker-compose.yml 文件
      • 2.在文件夹下运行 docker-compose.yml 文件
      • 3.验证
      • 4.停止docker-compose
    • 小结

介绍

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它允许你通过一个 YAML 文件来配置应用程序的服务、网络和卷,然后使用一条命令即可创建和启动所有服务。Docker Compose 使得管理复杂的应用程序变得简单,特别适合开发和测试环境。

特点

  • 声明式配置:使用 YAML 文件(通常命名为 docker-compose.yml)来声明应用程序的服务、网络和卷,使得配置更加清晰和易于管理。

  • 一键启动和停止:通过 docker-compose up 命令可以启动所有定义的服务,通过 docker-compose down 命令可以停止并移除所有服务。

  • 依赖管理:Docker Compose 支持服务之间的依赖关系,可以指定服务的启动顺序。

  • 环境变量和配置文件:可以使用 .env 文件来定义环境变量,还可以将配置文件挂载到容器中。

  • 网络管理:支持定义自定义网络,使得容器之间可以方便地进行通信。

  • 卷管理:支持定义数据卷,用于持久化数据和共享数据。

基本使用

dockercomposeyml__16">1.编写 docker-compose.yml 文件

创建docker compose文件存放目录

mkdir /home/docker-work 

创建docker-compose.yml 文件

vi docker-compose.yml

编写文件

# 名称
name: myblog
# 服务
services:
# 服务名称mysql:# 容器名称container_name: mysql# 使用镜像image: mysql:8.0# 端口映射ports:- "3306:3306"# 环境变量设置environment:- MYSQL_ROOT_PASSWORD=123456- MYSQL_DATABASE=wordpress# 数据挂载,注意如果是定义了数据卷,则必须在下面数据卷下声明volumes:- mysql-data:/var/lib/mysql- /app/myconf:/etc/mysql/conf.d# 设置开机自启restart: always# 使用网络networks:- blogwordpress:image: wordpressports:- "8080:80"environment:WORDPRESS_DB_HOST: mysqlWORDPRESS_DB_USER: rootWORDPRESS_DB_PASSWORD: 123456WORDPRESS_DB_NAME: wordpressvolumes:- wordpress:/var/www/htmlrestart: alwaysnetworks:- blogdepends_on:- mysql
# 数据卷
volumes:mysql-data:wordpress:
# 网络
networks:blog:

更多详细配置请参考官网文档:https://docs.docker.com/reference/compose-file/

dockercomposeyml__81">2.在文件夹下运行 docker-compose.yml 文件

docker compose -f [要运行的docker-compose文件名称] up -d

docker compose -f docker-compose.yml up -d

3.验证

docker ps

在这里插入图片描述

dockercompose_92">4.停止docker-compose

docker compose -f [运行的docker-compose文件名称] down

docker  compose -f compose.yaml down

小结

Docker Compose 是 Docker 生态系统中的一个重要工具,它极大地简化了多容器应用程序的部署和管理。通过使用 Docker Compose,你可以更加高效地构建和运行复杂的应用程序。


http://www.ppmy.cn/ops/145237.html

相关文章

Golang内存管理与优化

Golang内存管理与优化 一、Golang内存管理概述 简介 是一种开源的编程语言,由Google开发,特点是简单、快速、安全、并且具有并发特性。在Golang中,内存管理是一项非常重要的工作,对于程序的性能和稳定性都有着至关重要的影响。本文…

【每日学点鸿蒙知识】Charles抓包、lock文件处理、WebView组件、NFC相关、CallMethod失败等

1、HarmonyOS系统中如何使用Charles抓包? 在HarmonyOS操作系统中,使用Charles进行抓包的步骤如下: 在Charles中设置代理。 首先,在Charles的菜单栏上选择“Proxy”→“Proxy Settings”,然后填入代理端口&#xff0…

Electron【详解】菜单 Menu

顶部菜单 因顶部菜单款式传统,且不同系统的配置不同,建议在页面中自行实现菜单,而不采用 Electron 自带的菜单方案。 主进程中 import { Menu } from electron const template [{ role: appMenu }] const menu Menu.buildFromTemplate(te…

springboot462学生心理压力咨询评判(论文+源码)_kaic

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装学生心理压力咨询评判软件来发挥其高效地信息处理的作用&am…

mybatis SqlSessionFactory

SqlSessionFactory 有六个方法创建 SqlSession 实例。通常来说,当你选择其中一个方法时,你需要考虑以下几点: 事务处理:你希望在 session 作用域中使用事务作用域,还是使用自动提交(auto-commit&#xff0…

Jmeter 分布式压测部署--常见坑以及解决方案

JMeter 是性能测试的利器,而分布式压测更是应对高并发场景的必备技能。然而,在实际部署中,初学者常遇到种种问题,导致压测效果不理想甚至失败。你是否也曾因配置错误而耗费时间?别急,这篇文章为你全面解析 …

源码分析之Openlayers中GeometryCollection类

概述 本文主要介绍GeometryCollection类,GeometryCollection类继承于Geometry类,关于Geometry类,参考这篇文章源码分析之Openlayers中Geometry基类介绍 GeometryCollection类就是一组几何对象的集合. 源码分析 GeometryCollection类源码实现 GeometryCollection类源码实现…

母婴用品系统|Java|SSM|JSP|

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…