docker-compose中links和depends_on关键字学习总结

news/2025/2/25 4:08:47

links

link关键字用于在不同的容器之间创建网络链接。

它允许一个容器能够访问另一个容器的网络连接信息(如IP地址和端口)。

使用方法:在Docker Compose配置文件中,通过links关键字定义容器之间的链接关系。例如:

version: '3'
services:
  web:
    build: .
    links:
      - db
  db:
    image: postgres

在上面的示例中,web容器与db容器建立了链接,使得web容器可以通过db主机名访问到db容器。

注意事项

尽管link在早期版本的Docker中是一种常用的容器间通信方式,但在现代Docker版本中,建议使用用户自定义网络(User-defined networks)或者DNS解析等方法来进行容器间通信,而不是依赖link关键字。

Depends_on(依赖):

depends_on关键字用于定义服务之间的依赖关系。

它指示Docker Compose在启动服务时应该按照依赖关系的顺序来启动容器。

使用方法:在Docker Compose配置文件中,通过depends_on关键字指定服务之间的依赖关系。例如:

version: '3'

services:
  web:
    build: .
    depends_on:
      - db
  db:
    image: postgres

在上面的示例中,web服务依赖于db服务。当使用docker-compose up启动时,Docker Compose会首先启动db容器,然后再启动web容器。

注意事项

depends_on只关注服务之间的启动顺序,并不保证服务的可用性或健康状态。

因此,在使用depends_on时仍然需要在应用程序中实现适当的等待机制或健康检查,以确保依赖的服务已经准备好被使用。

links 优化

上面在介绍links的时候,新版本中建议使用自定义网络 来代替 links

优化后的配置如下:

version: '3'

services:
  web:
    build: .
    depends_on:
      - db
    networks:
      - mynet
  db:
    image: postgres
    networks:
      - mynet

networks:
  mynet:
    driver: bridge

注意上面的配置中我们保留了 depends_on ,是因为 depends_on 是用来定义服务之间的依赖顺序的。


如果觉得文章对你有用,请不吝点赞 和 关注个人公众号(搜索 全栈运维 或者 DailyJobOps


http://www.niftyadmin.cn/n/399178.html

相关文章

XSS跨站脚本安全漏洞防护

文章目录 1 跨站脚本1.1 存储型XSS1.2 反射型XSS 2 、案例2.1 通过正则表达式替换跨站脚本2.2 构建请求的代理类,在构造方法中对请求中的内容进行分析2.3 构建响应的代理类2.4 通过Filter过滤掉请求和响应中的跨站脚本 3 测试3.1 在接口的body参数中添加一个脚本3.2…

深浅拷贝及赋值区别理解

浅拷贝: 对象浅拷贝Object.assign() 数组的浅拷贝Array.prototype.slice()与Array.prototype.concat() 解构赋值 1.对于数组/对象中基本数据类型[123,234],拷贝的是数值,所以修改拷贝后的这个值,原数据不会改变;2.对…

HarmonyOS/OpenHarmony应用开发-ArkTS语言声明式UI描述

ArkTS以声明方式组合和扩展组件来描述应用程序的UI,同时还提供了基本的属性、事件和子组件配置方法,帮助开发者实现应用交互逻辑。 一、创建组件 根据组件构造方法的不同,创建组件包含有参数和无参数两种方式。 说明,创建组件时不…

花3个月面过阿里测开岗,拿个25K不过分吧?

计算机专业,代码能力一般,之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发,第二份实习由于大三暑假回国的时间比较短(小于两个月),于是找的实习是在一家初创…

Customizable constraint systems for succinct arguments学习笔记(1)

1. 引言 微软研究中心Srinath Setty、a16z crypto research 和 Georgetown University Justin Thaler、Carnegie Mellon University Riad Wahby 20203年论文《Customizable constraint systems for succinct arguments》。 在该论文中,介绍了Customizable constra…

MySQL数据库 10.DCL操作

目录 🤔 前言: 🤔DCL介绍: 🤔1.DCL管理用户: 1.查询用户: 图示: 2.创建用户 示例1: 运行结果:​ 示例2: 运行结果:​ 3.修改…

虚幻ue镜头试拍录制器用法 5.2录制角色的的操作并按特定键播放探索

在窗口-开启镜头试拍录制器 image.png 添加源为Player image.png 这个时候录制的圆形按钮警告已经消失, 切换游戏模式为模拟 image.png 运行后点击手柄切换 进行实际的控制 image.png 点击录制之后,在cinema 的take文件夹找到文件 把文件拖动到关卡,然后 创建蓝图按L键 然后创建…

python堆排序之heapq

python 的 heapq模块提供了堆排序实现,具体如下: 创建堆: 只有最小堆,没有最大堆想要有最大堆的效果,可以将数据取相反数heapq.heappushheapq.heapify 访问堆内容 heapq.heappopheapq.nlargest (最小堆…