Docker Compose配置:添加测试配置文件
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.20230803161701\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 - '/data/share/test.conf:/etc/nginx/test.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'}
以下是修改后的代码:javapublic class YamlManipulation { 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.20230803161701 ' + ' 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 modifiedYamlString = modifyYamlString(yamlString); System.out.println(modifiedYamlString); }
public static String modifyYamlString(String yamlString) { String[] lines = yamlString.split('
'); boolean volumesFound = false; StringBuilder modifiedYaml = new StringBuilder();
for (String line : lines) { modifiedYaml.append(line).append('
');
if (line.trim().equals('volumes:')) { volumesFound = true; modifiedYaml.append(' - '/data/share/test.conf:/etc/nginx/test.conf'
'); } }
if (!volumesFound) { modifiedYaml.append(' volumes:
'); modifiedYaml.append(' - '/data/share/test.conf:/etc/nginx/test.conf' '); }
return modifiedYaml.toString();
原文地址: https://www.cveoy.top/t/topic/qaD5 著作权归作者所有。请勿转载和采集!