当前位置: 首页 > news >正文

Docker Compose 教程

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.lryc.cn/news/519531.html

相关文章:

  • opencv的NLM去噪算法
  • scala基础学习_方法函数
  • Android车机DIY开发之软件篇(八)单独编译
  • 【Bug】报错信息:Required request body is missing(包含五种详细解决方案)
  • Docker 专栏 —— Dockerfile 指令详解
  • Spring Boot 项目自定义加解密实现配置文件的加密
  • 在ubuntu下对NFS做性能测试
  • Spring-Cloud-Gateway-Samples,nacos为注册中心,负载均衡
  • StarRocks Awards 2024 年度贡献人物
  • Autoencoder(李宏毅)机器学习 2023 Spring HW8 (Boss Baseline)
  • 深入探索 ScottPlot.WPF:在 Windows 桌面应用中绘制精美图表的利器
  • React中的useMemo 和 useEffect 哪个先执行?
  • 错误修改系列---基于RNN模型的心脏病预测(pytorch实现)
  • Table-Augmented Generation(TAG):Text2SQL与RAG的升级与超越
  • Stable Diffusion本地部署教程(附安装包)
  • 【物联网原理与运用】知识点总结(上)
  • JuiceFS 2024:开源与商业并进,迈向 AI 原生时代
  • C#,动态规划问题中基于单词搜索树(Trie Tree)的单词断句分词( Word Breaker)算法与源代码
  • 计算机网络(六)应用层
  • 上海亚商投顾:沪指探底回升微涨 机器人概念股午后爆发
  • conda相关操作
  • 使用TCP协议实现智能聊天机器人
  • PHP二维数组去除重复值
  • 2025年01月11日Github流行趋势
  • 备战蓝桥杯 队列和queue详解
  • IT面试求职系列主题-Jenkins
  • Vue篇-06
  • mysql binlog 日志分析查找
  • ubuntu 配置OpenOCD与RT-RT-thread环境的记录
  • 双系统解决开机提示security Policy Violation的方法