Docker Compose 教程

devtools/2025/1/13 2:36:20/

Docker Compose 是一个 Docker 容器的依赖管理工具。 例如我们一个服务需要依赖到多个 Docker 容器,那么使用 Docker Compose 这个工具就能很方便的帮助我们管理。

Docker Compose 通过配置文件 .yml。 定义了所有容器的依赖关系。 然后我们只需把我们想要的 Docker 相关容器信息写到的 .yml 配置文件中,剩下的就可以交给 Docker Compose。

安装 Docker Compose

我现在使用的是 Ubuntu 22.04 这个发行版,安装 Docker Compose 十分简单,只需要下面这条命令。

sudo apt install docker-compose // 只需要这条命令

使用 Docker Compose 安装 Wordpress

我们可以在这个地址 Wordpress | Docker Hub 找到 Wordpress 的 Docker yml 信息,如下:

version: '3.1'services:wordpress:image: wordpressrestart: alwaysports:- 8080:80environment:WORDPRESS_DB_HOST: dbWORDPRESS_DB_USER: exampleuserWORDPRESS_DB_PASSWORD: examplepassWORDPRESS_DB_NAME: exampledbvolumes:- wordpress:/var/www/htmldb:image: mysql:5.7restart: alwaysenvironment:MYSQL_DATABASE: exampledbMYSQL_USER: exampleuserMYSQL_PASSWORD: examplepassMYSQL_RANDOM_ROOT_PASSWORD: '1'volumes:- db:/var/lib/mysqlvolumes:wordpress:db:

这只信息包含了两个容器服务:

  • 第一个是:wordpress 的 PHP 代码。
  • 第二个是:Mysql 数据服务器。

这两个也是运行 Wordpress 所需要的服务。 关于上面这个 Docker 的 .yml 文件里,我们需要关注下面这几个信息:

  • image: Docker 的镜像名称。
  • ports: 服务启动的端口。
  • environment: 服务的环境相关信息,通常是一些账号密码。 db 部分是 mysql 的账号密码,wordpress 部分是 wordpress 需要登录 mysql 的账号密码(也就是填写 db 部分)。
  • volumes: 运行目录。

安装步骤

// 1. 我们到我们的 home 目录(可以在任何目录)
cd ~// 2. 新建一个 wordpress 的目录
mkdir wordpress// 3.  创建一个 docker-compose.yml 文件,把上面的配置信息写到这个文件里面
touch docker-compose

常用命令

执行完上面几步,我们需要用到这几个 Docker Compose 的常见命令:

// 创建实例 | 执行这个命令就创建出 .yml 里面配置的 image 实例,有点像 docker run
// 创建实例后,我们可以用 docker-compose stop / docker-compose start 启动和暂停实例
docker-compose up -d// 删除实例
docker-compose down// 列出目前正在运行相关容器服务
docker-compose ps// 启动
docker-compose start


http://www.ppmy.cn/devtools/150032.html

相关文章

深度学习中的常见初始化方法:原理、应用与比较

【 Transformer 系列,故事从 d k \sqrt{d_k} dk​ ​说起】 LLM这么火,Transformer厥功甚伟,某天心血来潮~,再去看看! 它长这个样子: 深入浅出 Transformer 看完后,想起了老生常谈 d k \sqrt{d_…

windows servre 2008 加密本地windows 操作系统驱动器,bitlocker加解密过程

首先点击服务器管理器,点击功能选项,添加功能 下一步 安装 需要重启 发现安装成功 发现只有一个盘,再添加一个盘 点击虚拟机设置 点击下一步 下一步 下一步 储存为单个文件 点击完成 找到这里 如果脱机就选择联机 右键初始化磁盘 点击确定 右…

uniapp中修改input里的字体颜色

<input type"text" placeholder"从哪儿出发" v-model"start.site_name"placeholder-class"shi-co" disabled"true" value"" /> 给input加上placeholder-class属性&#xff0c;然后给此属性加上样式。 未选…

SQLite PRAGMA

SQLite的PRAGMA命令是一种特殊的命令&#xff0c;用于在SQLite环境中控制各种环境变量和状态标志。PRAGMA值可以被读取&#xff0c;也可以根据需求进行设置【0†source】。 PRAGMA命令的语法格式如下&#xff1a; 要查询当前的PRAGMA值&#xff0c;只需提供该PRAGMA的名字&am…

当Elasticsearch索引数据量过多时,可以采取以下措施进行优化和部署

调整索引分片数量&#xff1a;根据数据量和集群规模&#xff0c;重新分配索引的分片数量。较小的索引分片可以提高查询性能&#xff0c;但过多的分片也会增加管理开销。因此&#xff0c;需要根据具体情况进行权衡。调整副本数量&#xff1a;根据数据量和查询负载&#xff0c;适…

深入NLP核心技术:文本张量表示与词嵌入全面解析

系列文章目录 01-中文NLP入门必备&#xff1a;全面解析分词、命名实体识别与词性标注&#xff08;附详细实战案例&#xff09; 02-深入NLP核心技术&#xff1a;文本张量表示与词嵌入全面解析 文章目录 系列文章目录前言一、文本张量表示1.1 文本张量表示简介1.1.1 举例说明1.1…

请求方式(基于注解实现)

1.编写web.xml文件配置启动信息 <!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app><display-name>Archetype Created Web Application</di…

苍穹外卖07——来单提醒和客户催单(涉及SpringTask、WebSocket协议、苍穹外卖跳过微信支付同时保证可以收到订单功能)

Spring Task介绍 应用场景&#xff1a; 信用卡每月还款提醒银行贷款每月还款提醒火车票销售系统处理未付款订单入职纪念日为用户发送通知 cron表达式 cron表达式其实就是一个字符串&#xff0c;通过cron表达式可以定义任务触发的时间。 构成规则&#xff1a;分为6或7个域&…