信阳市网站建设自己做服装搭配的网站
news/
2025/10/3 9:55:31/
文章来源:
信阳市网站建设,自己做服装搭配的网站,正规的男科医院排名,网站开发项目章程示例Docker Compose是一种流行的技术#xff0c;可以用来定义和管理你的应用程序所需的多个服务容器。通常在你的应用程序旁边创建一个 compose.yml 文件#xff0c;它定义和配置服务容器。
使用 Docker Compose 的典型工作流程是运行 docker compose up#xff0c;用它连接启动…Docker Compose是一种流行的技术可以用来定义和管理你的应用程序所需的多个服务容器。通常在你的应用程序旁边创建一个 compose.yml 文件它定义和配置服务容器。
使用 Docker Compose 的典型工作流程是运行 docker compose up用它连接启动的服务来处理你的应用程序然后在完成后运行 docker compose down。
sring-boot-docker-compose 模块可以包含在项目中为使用 Docker Compose 的容器工作提供支持。将该模块的依赖添加到你的构建中如下面Maven和Gradle的列表所示
Maven
dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-docker-compose/artifactIdoptionaltrue/optional/dependency
/dependencies
当这个模块作为依赖被包含时Spring Boot 将做以下工作
在你的应用程序目录中搜索 compose.yml 和其他常见的 compose 文件名用发现的 compose.yml 来调用 docker compose up。为每个支持的容器创建服务连接bean。当应用程序关闭时调用 docker compose stop。 docker compose 或 docker-compose CLI应用程序需要在你的路径上以便Spring Boot 的支持能够正常工作。 1. 服务连接
服务连接是与任何远程服务的连接。Spring Boot的自动配置可以消费服务连接的细节并使用它们来建立与远程服务的连接。这样做的时候连接细节优先于任何与连接相关的配置属性。
当使用Spring Boot的Docker Compose支持时服务连接被建立到容器映射的端口。 Docker compose 的使用方式通常是将容器内的端口映射到你电脑上的短暂端口。例如一个Postgres服务器可能在容器内使用5432端口运行但在本地被映射到一个完全不同的端口。服务连接将始终发现并使用本地映射的端口。 服务连接是通过使用容器的镜像名称建立的。目前支持以下服务连接 Connection Details 匹配于 CassandraConnectionDetails 命名为 cassandra 的容器。 ElasticsearchConnectionDetails 命名为 elasticsearch 的容器。 JdbcConnectionDetails 命名为 gvenzl/oracle-xe, mariadb, mssql/server, mysql 或 postgres 的容器。 MongoConnectionDetails 命名为 mongo 的容器。 R2dbcConnectionDetails 命名为 gvenzl/oracle-xe, mariadb, mssql/server, mysql 或 postgres 的容器。 RabbitConnectionDetails 命名为 rabbitmq 的容器。 RedisConnectionDetails 命名为 redis 的容器。 ZipkinConnectionDetails 命名为 openzipkin/zipkin 的容器。
2. 自定义镜像
有时你可能需要使用你自己版本的镜像来提供服务。你可以使用任何自定义镜像只要它的行为方式与标准镜像相同。具体来说标准镜像支持的任何环境变量也必须在你的自定义镜像中使用。
如果你的镜像使用不同的名称你可以在 compose.yml 文件中使用一个标签这样Spring Boot就可以提供一个服务连接。使用一个名为 org.springframework.boot.service-connection 的标签来提供服务名称。
例如
services:redis:image: mycompany/mycustomredis:7.0ports:- 6379labels:org.springframework.boot.service-connection: redis
3. 跳过特定的容器
如果你在 compose.yml 中定义了一个不希望连接到你的应用程序的容器镜像你可以使用标签来忽略它。任何带有 org.springframework.boot.ignore 标签的容器都会被 Spring Boot 忽略。
例如
services:redis:image: redis:7.0ports:- 6379labels:org.springframework.boot.ignore: true
4. 使用特定的 compose 文件
如果你的编译文件与你的应用程序不在同一个目录下或者它的名字不同你可以在 application.properties 或 application.yaml 中使用 spring.docker.compose.file 来指向一个不同的文件。Properties 可以被定义为准确的路径或与你的应用程序相对的路径。
例如
Yaml
spring:docker:compose:file: ../my-compose.yml
5. 等待 Container 准备就绪
由 Docker Compose 启动的容器可能需要一些时间才能完全就绪。检查准备情况的推荐方法是在 compose.yml 文件的服务定义下添加 healthcheck 部分。
由于 healthcheck 配置在 compose.yml 文件中被省略的情况并不少见Spring Boot也会直接检查服务的就绪情况。默认情况下当TCP/IP连接可以建立到其映射的端口时容器被认为是准备好了。
你可以通过在 compose.yml 文件中添加 org.springframework.boot.readiness-check.tcp.disable 标签在每个容器的基础上禁用这个。
例如
services:redis:image: redis:7.0ports:- 6379labels:org.springframework.boot.readiness-check.tcp.disable: true
你也可以在你的 application.properties 或 application.yaml 文件中改变超时值
Yaml
spring:docker:compose:readiness:tcp:connect-timeout: 10sread-timeout: 5s
整体超时可以使用 spring.docker.compose.readiness.timeout 进行配置。
6. 控制 Docker Compose 的生命周期
默认情况下Spring Boot 在你的应用程序启动时调用 docker compose up在关闭时调用 docker compose stop。如果你喜欢不同的生命周期管理你可以使用 spring.docker.compose.lifecycle-management 属性。
支持以下值
none - 不要启动或停止Docker Composestart-only - 在应用程序启动时启动Docker Compose并让其运行。start-and-stop - 在应用程序启动时启动Docker Compose在JVM退出时停止它
此外你可以使用 spring.docker.compose.start.command 属性来改变是使用 docker compose up 还是 docker compose start。 spring.docker.compose.stop.command 允许你配置是否使用 docker compose down 或 docker compose stop。
下面的例子显示了如何配置生命周期管理
Yaml
spring:docker:compose:lifecycle-management: start-and-stopstart:command: startstop:command: downtimeout: 1m
7. 激活Docker Compose配置文件
Docker Compose 配置文件与 Spring 配置文件类似它们可以让你为特定环境调整Docker Compose 配置。如果你想激活一个特定的 Docker Compose 配置文件你可以在 application.properties 或 application.yaml 文件中使用 spring.docker.compose.profiles.active 属性
Yaml
spring:docker:compose:profiles:active: myprofile
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925746.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!