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();
Docker Compose配置:添加测试配置文件

原文地址: https://www.cveoy.top/t/topic/qaD5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录