为了账号安全,请及时绑定邮箱和手机立即绑定

五个你还不知道的Docker Compose使用技巧

Docker Compose 有时会感觉像一个谜题。你调整端口以适应不同环境,如 staging 和 production,管理那些只偶尔需要用到的服务,当配置发生变化时,你又会陷入“这为什么会出问题”的循环。这确实很让人头疼。

但是如果你能的话……

  • 无需编辑文件即可在不同环境间切换设置,
  • 只启动当前需要的服务,
  • 在部署前预览更改吗?

这里有5个鲜为人用的Docker Compose功能,可以解决上述问题。减少阻力,增加流畅。让我们一起成为Docker Compose大师!:D

Wizard

1. 变量替换,如下:

是否厌烦了每次都要修改你的docker-compose.yml文件?试试变量替换功能:

服务配置:
  ```yaml
  web服务:
    镜像: nginx
    端口映射:
      - "${PORT}:80"

进入全屏 退出全屏

设置 `PORT=8080` 环境变量,搞定!这就对了!配置就自动调整好了,就这样。

## 2\. 个人简介

并非所有服务都需要全天候运行。你可以通过配置文件来选择服务。

服务定义:

services:
web:
image: nginx

网页服务使用nginx镜像
profiles:
  - 配置属性: web

db:
image: postgres

数据库服务使用postgres镜像
profiles:
  - 配置属性: db

进入全屏/退出全屏

只需开启你需要的服务即可:
docker-compose --profile web up

全屏(点击进入/退出)

当你有很多服务要启动时,使用 `docker compose up` 命令要比单独定义每个服务更有趣。

## 3. 扩展部分

为什么不试试扩展呢?这里教你怎么做:

服务:
通用:
镜像: nginx

注:此配置用于定义通用服务的镜像。

点全屏 关闭全屏

然后在你的 `docker-compose.yml` 配置文件中
services:
  web:
    extends:
      file: base.yml
      service: common
    ports:
      - "80:80"

全屏查看 退出全屏

还记得 DRY(不要重复自己)吗?原来这也适用于 Docker Compose,还真是挺有用的呢 :D

## 4. 组合 compose 文件

像调制鸡尾酒一样(或者如果你已经是个Docker巫师,那就调制一种魔药一样),混合不同的Docker Compose配置文件:
services:
  web:
    # 这里定义了 web 服务的 Docker 配置,使用 nginx 作为镜像。
    image: nginx

全屏模式,退出全屏

加点乐趣:
services:
  web:
    # Web服务的端口映射
    ports:
      - "8080:80"

点击全屏进入,然后退出全屏

运行 `docker-compose up` (启动容器),或者根据特定需求混合使用:

docker-compose -f docker-compose.yml -f docker-compose.prod.yml up

运行生成环境的Docker容器(启动生产环境的Docker容器)。

全屏模式 退出全屏

## 5\. 干运转模式.

在开始更改之前,先以模拟模式检查一下生产问题。

运行 `docker-compose --dry-run up` 命令
docker-compose --dry-run up


进入全屏 退出全屏

这让你可以预览到 Docker Compose 将会执行的操作,而不真正执行它们。试试吧!

此处省略

这些 Docker Compose 的小技巧是你的绝招,能让你的容器管理变得稍微更轻松。试试它们,看看你的工作流程如何转变!

希望你今天学到新东西了!在下面留言告诉我你的想法哦 :)

好了,

Jonas,Slipane联合创始人之一,[Slipane,最简单的方法来部署Docker容器](https://sliplane.io?utm_source=docker-compose-tricks)
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消