Docker Compose 配置 - adrs-ui 和 adrs-ui_test 服务定义
version: '3.8'\nx-deploy:\n replicas: 1\n restart_policy:\n condition: on-failure\nservices:\n adrs-ui:\n image: master:5000/dev/ly-mssp-auth-ui-test:2.2.20230804145122\n hostname: adrs-ui\n init: true\n ports:\n - 15111:80\n volumes:\n #- '/data/share/common/nginx/auth/nginx.conf:/etc/nginx/nginx.conf'\n - '/data/share/ssl.cer:/etc/nginx/ssl/ssl.cer'\n - '/data/share/ssl.key:/etc/nginx/ssl/ssl.key'\n - '/data/share/iacp.conf:/etc/nginx/nginx.conf'\n depends_on:\n - api\n environment:\n spring.cloud.inetutils.preferred-networks: 10.10.0\n APIGATEWAY: 192.168.35.55:1101\n GATEWAY: 192.168.35.55:1101\n Cas_Enable: 'false'\n DOCURL: 192.168.35.210:8888\n networks:\n - portainer_agent_network\n deploy:\n placement:\n constraints:\n - node.hostname == p1\n adrs-ui_test:\n image: 192.168.2.78:5000/dev/ly-mssp-auth-svc:2.2\n hostname: adrs-ui-aaa\n init: true\n ports:\n - 15121:80\n depends_on:\n - api\n environment:\n spring.cloud.inetutils.preferred-networks: 10.10.0\n APIGATEWAY: 192.168.35.55:1101\n GATEWAY: 192.168.35.55:1101\n Cas_Enable: 'false'\n DOCURL: 192.168.35.210:8888\n networks:\n - portainer_agent_network\n deploy:\n placement:\n constraints:\n - node.hostname == p1\nnetworks:\n portainer_agent_network:\n external: true'}
说明:
- title: 标题包含关键词,简明扼要地概括了内容。* description: 描述内容简要介绍了配置内容和服务的定义。* keywords: 列出相关的关键词,方便搜索引擎索引。* content: 内容对原内容进行了转义,方便搜索引擎识别。
优化思路:
- 将标题改为更具描述性的标题,并包含关键词 'Docker Compose',方便用户搜索。* 在描述中增加对内容的简要介绍,例如 '定义了两个服务,包括镜像地址、端口映射、依赖关系、环境变量等信息。'* 在关键词中加入 “服务定义”、“镜像”、“端口”、“依赖”、“环境变量” 等关键词,提高搜索匹配度。* 将内容中的所有字符进行转义,防止搜索引擎错误解析。
**代码示例:**javapublic class Main { public static void main(String[] args) { String yamlString = 'version: '3.8' ' + 'x-deploy: ' + ' replicas: 1 ' + ' restart_policy: ' + ' condition: on-failure ' + 'services: ' + ' adrs-ui: ' + ' image: master:5000/dev/ly-mssp-auth-ui-test:2.2.20230804145122 ' + ' hostname: adrs-ui ' + ' init: true ' + ' ports: ' + ' - 15111:80 ' + ' volumes: ' + ' #- '/data/share/common/nginx/auth/nginx.conf:/etc/nginx/nginx.conf' ' + ' - '/data/share/ssl.cer:/etc/nginx/ssl/ssl.cer' ' + ' - '/data/share/ssl.key:/etc/nginx/ssl/ssl.key' ' + ' - '/data/share/iacp.conf:/etc/nginx/nginx.conf' ' + ' depends_on: ' + ' - api ' + ' environment: ' + ' spring.cloud.inetutils.preferred-networks: 10.10.0 ' + ' APIGATEWAY: 192.168.35.55:1101 ' + ' GATEWAY: 192.168.35.55:1101 ' + ' Cas_Enable: 'false' ' + ' DOCURL: 192.168.35.210:8888 ' + ' networks: ' + ' - portainer_agent_network ' + ' deploy: ' + ' placement: ' + ' constraints: ' + ' - node.hostname == p1 ' + ' adrs-ui_test: ' + ' image: 192.168.2.78:5000/dev/ly-mssp-auth-svc:2.2 ' + ' hostname: adrs-ui-aaa ' + ' init: true ' + ' ports: ' + ' - 15121:80 ' + ' depends_on: ' + ' - api ' + ' environment: ' + ' spring.cloud.inetutils.preferred-networks: 10.10.0 ' + ' APIGATEWAY: 192.168.35.55:1101 ' + ' GATEWAY: 192.168.35.55:1101 ' + ' Cas_Enable: 'false' ' + ' DOCURL: 192.168.35.210:8888 ' + ' networks: ' + ' - portainer_agent_network ' + ' deploy: ' + ' placement: ' + ' constraints: ' + ' - node.hostname == p1 ' + 'networks: ' + ' portainer_agent_network: ' + ' external: true';
String[] services = yamlString.split('services:'); for (String service : services) { if (!service.trim().isEmpty()) { // 对服务内容进行转义 String escapedService = service.trim().replaceAll('\\', '\\\\').replaceAll(''', '\\''); System.out.println('services:
' + escapedService); System.out.println('---------------------'); } }
原文地址: https://www.cveoy.top/t/topic/qbHM 著作权归作者所有。请勿转载和采集!