diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/pom.xml b/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/pom.xml
index 421d621..6961dec 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/pom.xml
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/pom.xml
@@ -35,165 +35,68 @@
         <dubbo.version>2.7.7</dubbo.version>
         <spring.version>4.3.16.RELEASE</spring.version>
         <junit.version>4.12</junit.version>
-        <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
-        <jib-maven-plugin.version>1.2.0</jib-maven-plugin.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
-        <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version>
-        <image.name>${project.artifactId}:${dubbo.version}</image.name>
-        <java-image.name>openjdk:8</java-image.name>
-        <dubbo.port>20990</dubbo.port>
-        <zookeeper.port>2181</zookeeper.port>
-        <main-class>org.apache.dubbo.samples.configcenter.annotation.AnnotationProvider</main-class>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-framework-bom</artifactId>
+                <version>${spring.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-bom</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+            </dependency>
+
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>${junit.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo</artifactId>
-            <version>${dubbo.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-dependencies-zookeeper</artifactId>
-            <version>${dubbo.version}</version>
             <type>pom</type>
         </dependency>
 
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>${junit.version}</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-test</artifactId>
-            <version>${spring.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
 
     <profiles>
-        <profile>
-            <id>dubbo-integration-test</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.dubbo</groupId>
-                        <artifactId>dubbo-maven-address-plugin</artifactId>
-                        <version>1.0-SNAPSHOT</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>local-address</goal>
-                                </goals>
-                                <configuration>
-                                    <localAddress>dubbo-local-address</localAddress>
-                                </configuration>
-                                <phase>initialize</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>com.google.cloud.tools</groupId>
-                        <artifactId>jib-maven-plugin</artifactId>
-                        <version>${jib-maven-plugin.version}</version>
-                        <configuration>
-                            <from>
-                                <image>${java-image.name}</image>
-                            </from>
-                            <to>
-                                <image>${image.name}</image>
-                            </to>
-                            <container>
-                                <mainClass>${main-class}</mainClass>
-                                <ports>
-                                    <port>${dubbo.port}</port>
-                                    <port>${zookeeper.port}</port>
-                                </ports>
-                                <environment>
-                                    <DUBBO_IP_TO_REGISTRY>${dubbo-local-address}</DUBBO_IP_TO_REGISTRY>
-                                </environment>
-                                <jvmFlags>
-                                    <jvmFlag>-Dzookeeper.address=${dubbo-local-address}</jvmFlag>
-                                </jvmFlags>
-                            </container>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>dockerBuild</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>io.fabric8</groupId>
-                        <artifactId>docker-maven-plugin</artifactId>
-                        <version>${docker-maven-plugin.version}</version>
-                        <configuration>
-                            <images>
-                                <image>
-                                    <name>${image.name}</name>
-                                    <run>
-                                        <ports>
-                                            <port>${dubbo.port}:${dubbo.port}</port>
-                                            <port>${zookeeper.port}:${zookeeper.port}</port>
-                                        </ports>
-                                        <wait>
-                                            <log>dubbo service started</log>
-                                        </wait>
-                                    </run>
-                                </image>
-                            </images>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>start</id>
-                                <phase>pre-integration-test</phase>
-                                <goals>
-                                    <goal>start</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>stop</id>
-                                <phase>post-integration-test</phase>
-                                <goals>
-                                    <goal>stop</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <version>${maven-failsafe-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                                <configuration>
-                                    <systemPropertyVariables>
-                                        <zookeeper.address>${dubbo-local-address}</zookeeper.address>
-                                    </systemPropertyVariables>
-                                    <includes>
-                                        <include>**/*IT.java</include>
-                                    </includes>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
         <!-- For jdk 11 above JavaEE annotation -->
         <profile>
             <id>javax.annotation</id>
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/case-configuration.yml b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/case-configuration.yml
new file mode 100644
index 0000000..b2f3028
--- /dev/null
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/case-configuration.yml
@@ -0,0 +1,57 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+services:
+  zookeeper1:
+    image: zookeeper:latest
+
+  zookeeper2:
+    image: zookeeper:latest
+
+  dubbo-samples-configcenter-api:
+    type: app
+    basedir: .
+    mainClass: org.apache.dubbo.samples.server.Provider2
+    systemProps:
+      - zookeeper.address.1=zookeeper1
+      - zookeeper.port.1=2181
+      - zookeeper.address.2=zookeeper2
+      - zookeeper.port.2=2181
+    waitPortsBeforeRun:
+      - zookeeper1:2181
+      - zookeeper2:2181
+    depends_on:
+      - zookeeper1
+      - zookeeper2
+
+  dubbo-samples-configcenter-api-test:
+    type: test
+    basedir: .
+    tests:
+      - "**/*IT.class"
+    systemProps:
+      - zookeeper.address.1=zookeeper1
+      - zookeeper.port.1=2181
+      - zookeeper.address.2=zookeeper2
+      - zookeeper.port.2=2181
+    waitPortsBeforeRun:
+      - zookeeper1:2181
+      - zookeeper2:2181
+      - dubbo-samples-configcenter-api:20880
+    depends_on:
+      - zookeeper1
+      - zookeeper2
+      - dubbo-samples-configcenter-api
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/pom.xml b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/pom.xml
index 9562e6d..afc936e 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/pom.xml
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/pom.xml
@@ -32,171 +32,67 @@
         <dubbo.version>2.7.7</dubbo.version>
         <spring.version>4.3.16.RELEASE</spring.version>
         <junit.version>4.12</junit.version>
-        <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
-        <jib-maven-plugin.version>1.2.0</jib-maven-plugin.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
-        <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version>
-        <image.name>${project.artifactId}:${dubbo.version}</image.name>
-        <java-image.name>openjdk:8</java-image.name>
-        <dubbo.port>20880</dubbo.port>
-        <main-class>org.apache.dubbo.samples.server.Provider2</main-class>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-framework-bom</artifactId>
+                <version>${spring.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-bom</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+            </dependency>
+
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>${junit.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo</artifactId>
-            <version>${dubbo.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-dependencies-zookeeper</artifactId>
-            <version>${dubbo.version}</version>
             <type>pom</type>
         </dependency>
 
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>${junit.version}</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-test</artifactId>
-            <version>${spring.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
 
-    <profiles>
-        <profile>
-            <id>dubbo-integration-test</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.dubbo</groupId>
-                        <artifactId>dubbo-maven-address-plugin</artifactId>
-                        <version>1.0-SNAPSHOT</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>local-address</goal>
-                                </goals>
-                                <configuration>
-                                    <localAddress>dubbo-local-address</localAddress>
-                                </configuration>
-                                <phase>initialize</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>com.google.cloud.tools</groupId>
-                        <artifactId>jib-maven-plugin</artifactId>
-                        <version>${jib-maven-plugin.version}</version>
-                        <configuration>
-                            <from>
-                                <image>${java-image.name}</image>
-                            </from>
-                            <to>
-                                <image>${image.name}</image>
-                            </to>
-                            <container>
-                                <mainClass>${main-class}</mainClass>
-                                <ports>
-                                    <port>${dubbo.port}</port>
-                                </ports>
-                                <environment>
-                                    <DUBBO_IP_TO_REGISTRY>${dubbo-local-address}</DUBBO_IP_TO_REGISTRY>
-                                </environment>
-                                <jvmFlags>
-                                    <jvmFlag>-Dzookeeper.address=${dubbo-local-address}</jvmFlag>
-                                </jvmFlags>
-                            </container>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>dockerBuild</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>io.fabric8</groupId>
-                        <artifactId>docker-maven-plugin</artifactId>
-                        <version>${docker-maven-plugin.version}</version>
-                        <configuration>
-                            <images>
-                                <image>
-                                    <external>
-                                        <type>compose</type>
-                                        <basedir>src/main/resources/docker</basedir>
-                                        <composeFile>docker-compose.yml</composeFile>
-                                    </external>
-                                </image>
-                                <image>
-                                    <name>${image.name}</name>
-                                    <run>
-                                        <ports>
-                                            <port>${dubbo.port}:${dubbo.port}</port>
-                                        </ports>
-                                        <wait>
-                                            <log>dubbo service started</log>
-                                        </wait>
-                                    </run>
-                                </image>
-                            </images>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>start</id>
-                                <phase>pre-integration-test</phase>
-                                <goals>
-                                    <goal>start</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>stop</id>
-                                <phase>post-integration-test</phase>
-                                <goals>
-                                    <goal>stop</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <version>${maven-failsafe-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                                <configuration>
-                                    <systemPropertyVariables>
-                                        <zookeeper.address>${dubbo-local-address}</zookeeper.address>
-                                    </systemPropertyVariables>
-                                    <includes>
-                                        <include>**/*IT.java</include>
-                                    </includes>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
     <build>
         <plugins>
             <plugin>
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/ZKTools.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/ZKTools2.java
similarity index 74%
rename from dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/ZKTools.java
rename to dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/ZKTools2.java
index cd9fbea..9528801 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/ZKTools.java
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/ZKTools2.java
@@ -22,9 +22,12 @@
 import org.apache.curator.framework.CuratorFrameworkFactory;
 import org.apache.curator.retry.ExponentialBackoffRetry;
 
-public class ZKTools {
+public class ZKTools2 {
     private static CuratorFramework client;
-    private static String zookeeperHost = "127.0.0.0";
+    private static String zookeeperHost1 = System.getProperty("zookeeper.address.1", "127.0.0.1");
+    private static String zookeeperPort1 = System.getProperty("zookeeper.port.1", "2181");
+    private static String zookeeperHost2 = System.getProperty("zookeeper.address.2", "127.0.0.1");
+    private static String zookeeperPort2 = System.getProperty("zookeeper.port.2", "2182");
 
     public static void main(String[] args) throws Exception {
         initClient();
@@ -32,7 +35,7 @@
     }
 
     public static void generateDubboPropertiesForGlobal() {
-        String str = "dubbo.registry.address=zookeeper://" + zookeeperHost + ":2182\n";
+        String str = "dubbo.registry.address=zookeeper://" + zookeeperHost2 + ":" + zookeeperPort2;
 
         System.out.println(str);
 
@@ -47,12 +50,19 @@
         }
     }
 
-    public static void setZookeeperHost(String host) {
-        zookeeperHost = host;
+    public static void setZookeeperServer1(String host, String port) {
+        zookeeperHost1 = host;
+        zookeeperPort1 = port;
+    }
+
+    public static void setZookeeperServer2(String host, String port) {
+        zookeeperHost2 = host;
+        zookeeperPort2 = port;
     }
 
     public static void initClient() {
-        client = CuratorFrameworkFactory.newClient(zookeeperHost + ":2181", 60 * 1000, 60 * 1000,
+        client = CuratorFrameworkFactory.newClient(zookeeperHost1 + ":" + zookeeperPort1,
+                60 * 1000, 60 * 1000,
                 new ExponentialBackoffRetry(1000, 3));
         client.start();
     }
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/client/Consumer.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/client/Consumer.java
index e435835..9b15773 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/client/Consumer.java
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/client/Consumer.java
@@ -26,9 +26,11 @@
 public class Consumer {
     private static ConfigCenterConfig configCenter = new ConfigCenterConfig();
     private static ApplicationConfig applicationConfig = new ApplicationConfig("api-dubbo-consumer");
+    private static String zookeeperHost1 = System.getProperty("zookeeper.address.1", "127.0.0.1");
+    private static String zookeeperPort1 = System.getProperty("zookeeper.port.1", "2181");
 
     static {
-        configCenter.setAddress("zookeeper://127.0.0.1:2181");
+        configCenter.setAddress("zookeeper://" + zookeeperHost1 + ":" + zookeeperPort1);
     }
 
     public static void main(String[] args) throws Exception {
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/server/Provider2.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/server/Provider2.java
index ea4c233..a69fcea 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/server/Provider2.java
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/java/org/apache/dubbo/samples/server/Provider2.java
@@ -33,11 +33,14 @@
     private static ConfigCenterConfig configCenter = new ConfigCenterConfig();
     private static ApplicationConfig application = new ApplicationConfig("api-dubbo-provider-2");
     private static RegistryConfig registry = new RegistryConfig();
-    private static String zookeeperHost = System.getProperty("zookeeper.address", "127.0.0.1");
+    private static String zookeeperHost1 = System.getProperty("zookeeper.address.1", "127.0.0.1");
+    private static String zookeeperPort1 = System.getProperty("zookeeper.port.1", "2181");
+    private static String zookeeperHost2 = System.getProperty("zookeeper.address.2", "127.0.0.1");
+    private static String zookeeperPort2 = System.getProperty("zookeeper.port.2", "2182");
 
     static {
         configCenter.setExternalConfig(getExternalConfiguration());
-        registry.setAddress("zookeeper://" + zookeeperHost + ":2182");
+        registry.setAddress("zookeeper://" + zookeeperHost2 + ":" + zookeeperPort2);
     }
 
     public static void main(String[] args) throws Exception {
@@ -68,10 +71,10 @@
      */
     public static Map<String, String> getExternalConfiguration() {
         Map<String, String> dubboConfigurations = new HashMap<>();
-        dubboConfigurations.put("dubbo.registry.address", "zookeeper://" + zookeeperHost + ":2181");
+        dubboConfigurations.put("dubbo.registry.address", "zookeeper://" + zookeeperHost1 + ":" + zookeeperPort1);
         // you will need to add the config center address if you want to use the service governance features in 2.7,
         // e.g., overrides and routers, but notice it will not be used for gathering startup configurations.
-        dubboConfigurations.put("dubbo.config-center.address", "zookeeper://" + zookeeperHost + ":2181");
+        dubboConfigurations.put("dubbo.config-center.address", "zookeeper://" + zookeeperHost1 + ":" + zookeeperPort1);
 
         return dubboConfigurations;
     }
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/resources/docker/docker-compose.yml b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/resources/docker/docker-compose.yml
deleted file mode 100644
index e92a4e8..0000000
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/main/resources/docker/docker-compose.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-version: "2"
-services:
-  zookeeper1:
-    image: "zookeeper:latest"
-    ports:
-      - "2181:2181"
-  zookeeper2:
-    image: "zookeeper:latest"
-    ports:
-      - "2182:2181"
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/test/java/org/apache/dubbo/samples/DemoServiceIT.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/test/java/org/apache/dubbo/samples/DemoServiceIT.java
index 5be4488..e4aef49 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/test/java/org/apache/dubbo/samples/DemoServiceIT.java
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/test/java/org/apache/dubbo/samples/DemoServiceIT.java
@@ -27,21 +27,22 @@
 import org.junit.Test;
 
 public class DemoServiceIT {
-    private static String zookeeperHost = "127.0.0.1";
+    private static String zookeeperHost1 = System.getProperty("zookeeper.address.1", "127.0.0.1");
+    private static String zookeeperPort1 = System.getProperty("zookeeper.port.1", "2181");
 
     @BeforeClass
     public static void setUp() throws Exception {
-        zookeeperHost = System.getProperty("zookeeper.address", zookeeperHost);
-        ZKTools.setZookeeperHost(zookeeperHost);
-        ZKTools.initClient();
-        ZKTools.generateDubboPropertiesForGlobal();
+        zookeeperHost1 = System.getProperty("zookeeper.address", zookeeperHost1);
+        ZKTools2.setZookeeperServer1(zookeeperHost1, zookeeperPort1);
+        ZKTools2.initClient();
+        ZKTools2.generateDubboPropertiesForGlobal();
     }
 
     @Test
     public void test() throws Exception {
         ConfigCenterConfig configCenter = new ConfigCenterConfig();
         ApplicationConfig applicationConfig = new ApplicationConfig("api-dubbo-consumer");
-        configCenter.setAddress("zookeeper://" + zookeeperHost + ":2181");
+        configCenter.setAddress("zookeeper://" + zookeeperHost1 + ":" + zookeeperPort1);
         ReferenceConfig<DemoService> reference = new ReferenceConfig<>();
         reference.setApplication(applicationConfig);
         reference.setConfigCenter(configCenter);
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/test/java/org/apache/dubbo/samples/GreetingsServiceIT.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/test/java/org/apache/dubbo/samples/GreetingsServiceIT.java
index 302f1b2..4aa7210 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/test/java/org/apache/dubbo/samples/GreetingsServiceIT.java
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-api/src/test/java/org/apache/dubbo/samples/GreetingsServiceIT.java
@@ -27,21 +27,22 @@
 import org.junit.Test;
 
 public class GreetingsServiceIT {
-    private static String zookeeperHost = "127.0.0.1";
+    private static String zookeeperHost1 = System.getProperty("zookeeper.address.1", "127.0.0.1");
+    private static String zookeeperPort1 = System.getProperty("zookeeper.port.1", "2181");
 
     @BeforeClass
     public static void setUp() throws Exception {
-        zookeeperHost = System.getProperty("zookeeper.address", zookeeperHost);
-        ZKTools.setZookeeperHost(zookeeperHost);
-        ZKTools.initClient();
-        ZKTools.generateDubboPropertiesForGlobal();
+        zookeeperHost1 = System.getProperty("zookeeper.address", zookeeperHost1);
+        ZKTools2.setZookeeperServer1(zookeeperHost1, zookeeperPort1);
+        ZKTools2.initClient();
+        ZKTools2.generateDubboPropertiesForGlobal();
     }
 
     @Test
     public void test() throws Exception {
         ConfigCenterConfig configCenter = new ConfigCenterConfig();
         ApplicationConfig applicationConfig = new ApplicationConfig("api-dubbo-consumer");
-        configCenter.setAddress("zookeeper://" + zookeeperHost + ":2181");
+        configCenter.setAddress("zookeeper://" + zookeeperHost1 + ":" + zookeeperPort1);
         ReferenceConfig<GreetingsService> reference = new ReferenceConfig<>();
         reference.setApplication(applicationConfig);
         reference.setConfigCenter(configCenter);
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/case-configuration.yml b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/case-configuration.yml
new file mode 100644
index 0000000..8cfcd3d
--- /dev/null
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/case-configuration.yml
@@ -0,0 +1,68 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+services:
+  config-center:
+    image: zookeeper:latest
+
+  zookeeper1:
+    image: zookeeper:latest
+
+  zookeeper2:
+    image: zookeeper:latest
+
+  dubbo-samples-configcenter-multi-registries:
+    type: app
+    basedir: .
+    mainClass: org.apache.dubbo.samples.configcenter.multiregistries.AnnotationProvider
+    systemProps:
+      - config-center.address=config-center
+      - config-center.port=2181
+      - zookeeper.address.1=zookeeper1
+      - zookeeper.port.1=2181
+      - zookeeper.address.2=zookeeper2
+      - zookeeper.port.2=2181
+    waitPortsBeforeRun:
+      - config-center:2181
+      - zookeeper1:2181
+      - zookeeper2:2181
+    depends_on:
+      - config-center
+      - zookeeper1
+      - zookeeper2
+
+  dubbo-samples-configcenter-multi-registries-test:
+    type: test
+    basedir: .
+    tests:
+      - "**/*IT.class"
+    systemProps:
+      - config-center.address=config-center
+      - config-center.port=2181
+      - zookeeper.address.1=zookeeper1
+      - zookeeper.port.1=2181
+      - zookeeper.address.2=zookeeper2
+      - zookeeper.port.2=2181
+    waitPortsBeforeRun:
+      - config-center:2181
+      - zookeeper1:2181
+      - zookeeper2:2181
+      - dubbo-samples-configcenter-multi-registries:20880
+    depends_on:
+      - config-center
+      - zookeeper1
+      - zookeeper2
+      - dubbo-samples-configcenter-multi-registries
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/pom.xml b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/pom.xml
index 9500457..881991b 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/pom.xml
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/pom.xml
@@ -28,176 +28,74 @@
 
     <artifactId>dubbo-samples-configcenter-multi-registries</artifactId>
 
-
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
         <dubbo.version>2.7.7</dubbo.version>
         <spring.version>4.3.16.RELEASE</spring.version>
         <junit.version>4.12</junit.version>
-        <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
-        <jib-maven-plugin.version>1.2.0</jib-maven-plugin.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
-        <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version>
-        <image.name>${project.artifactId}:${dubbo.version}</image.name>
-        <java-image.name>openjdk:8</java-image.name>
-        <dubbo.port>20880</dubbo.port>
-        <main-class>org.apache.dubbo.samples.configcenter.multiregistries.AnnotationProvider</main-class>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-framework-bom</artifactId>
+                <version>${spring.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-bom</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+            </dependency>
+
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>${junit.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo</artifactId>
-            <version>${dubbo.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-dependencies-zookeeper</artifactId>
-            <version>${dubbo.version}</version>
             <type>pom</type>
         </dependency>
 
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>${junit.version}</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-test</artifactId>
-            <version>${spring.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
 
     <profiles>
-        <profile>
-            <id>dubbo-integration-test</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.dubbo</groupId>
-                        <artifactId>dubbo-maven-address-plugin</artifactId>
-                        <version>1.0-SNAPSHOT</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>local-address</goal>
-                                </goals>
-                                <configuration>
-                                    <localAddress>dubbo-local-address</localAddress>
-                                </configuration>
-                                <phase>initialize</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>com.google.cloud.tools</groupId>
-                        <artifactId>jib-maven-plugin</artifactId>
-                        <version>${jib-maven-plugin.version}</version>
-                        <configuration>
-                            <from>
-                                <image>${java-image.name}</image>
-                            </from>
-                            <to>
-                                <image>${image.name}</image>
-                            </to>
-                            <container>
-                                <mainClass>${main-class}</mainClass>
-                                <ports>
-                                    <port>${dubbo.port}</port>
-                                </ports>
-                                <environment>
-                                    <DUBBO_IP_TO_REGISTRY>${dubbo-local-address}</DUBBO_IP_TO_REGISTRY>
-                                </environment>
-                                <jvmFlags>
-                                    <jvmFlag>-Dzookeeper.address=${dubbo-local-address}</jvmFlag>
-                                </jvmFlags>
-                            </container>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>dockerBuild</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>io.fabric8</groupId>
-                        <artifactId>docker-maven-plugin</artifactId>
-                        <version>${docker-maven-plugin.version}</version>
-                        <configuration>
-                            <images>
-                                <image>
-                                    <external>
-                                        <type>compose</type>
-                                        <basedir>src/main/resources/docker</basedir>
-                                        <composeFile>docker-compose.yml</composeFile>
-                                    </external>
-                                </image>
-                                <image>
-                                    <name>${image.name}</name>
-                                    <run>
-                                        <ports>
-                                            <port>${dubbo.port}:${dubbo.port}</port>
-                                        </ports>
-                                        <wait>
-                                            <log>dubbo service started</log>
-                                        </wait>
-                                    </run>
-                                </image>
-                            </images>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>start</id>
-                                <phase>pre-integration-test</phase>
-                                <goals>
-                                    <goal>start</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>stop</id>
-                                <phase>post-integration-test</phase>
-                                <goals>
-                                    <goal>stop</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <version>${maven-failsafe-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                                <configuration>
-                                    <systemPropertyVariables>
-                                        <zookeeper.address>${dubbo-local-address}</zookeeper.address>
-                                    </systemPropertyVariables>
-                                    <includes>
-                                        <include>**/*IT.java</include>
-                                    </includes>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
         <!-- For jdk 11 above JavaEE annotation -->
         <profile>
             <id>javax.annotation</id>
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/java/org/apache/dubbo/samples/configcenter/multiregistries/ZKTools.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/java/org/apache/dubbo/samples/configcenter/multiregistries/ZKTools.java
index 44dd87d..b37fe78 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/java/org/apache/dubbo/samples/configcenter/multiregistries/ZKTools.java
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/java/org/apache/dubbo/samples/configcenter/multiregistries/ZKTools.java
@@ -23,15 +23,21 @@
 import org.apache.curator.retry.ExponentialBackoffRetry;
 
 public class ZKTools {
-    private static String zookeeperHost = System.getProperty("zookeeper.address", "127.0.0.1");
     private static CuratorFramework client;
+    private static String configCenterHost = System.getProperty("config-center.address", "127.0.0.1");
+    private static String configCenterPort = System.getProperty("config-center.port", "2181");
+    private static String zookeeperHost1 = System.getProperty("zookeeper.address.1", "127.0.0.1");
+    private static String zookeeperPort1 = System.getProperty("zookeeper.port.1", "2182");
+    private static String zookeeperHost2 = System.getProperty("zookeeper.address.2", "127.0.0.1");
+    private static String zookeeperPort2 = System.getProperty("zookeeper.port.2", "2183");
 
     public static void main(String[] args) throws Exception {
         generateDubboProperties();
     }
 
     public static void generateDubboProperties() {
-        client = CuratorFrameworkFactory.newClient(zookeeperHost + ":2181", 60 * 1000, 60 * 1000,
+        client = CuratorFrameworkFactory.newClient(configCenterHost + ":" + configCenterPort,
+                60 * 1000, 60 * 1000,
                 new ExponentialBackoffRetry(1000, 3));
         client.start();
 
@@ -39,8 +45,8 @@
     }
 
     public static void generateDubboPropertiesForGlobal() {
-        String str = "dubbo.registries.registry1.address=zookeeper://" + zookeeperHost + ":2182\n" +
-                "dubbo.registries.registry2.address=zookeeper://" + zookeeperHost + ":2183\n";
+        String str = "dubbo.registries.registry1.address=zookeeper://" + zookeeperHost1 + ":" + zookeeperPort1 + "\n" +
+                "dubbo.registries.registry2.address=zookeeper://" + zookeeperHost2 + ":" + zookeeperPort2;
 
         System.out.println(str);
 
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/docker/docker-compose.yml b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/docker/docker-compose.yml
deleted file mode 100644
index f09deff..0000000
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/docker/docker-compose.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-version: "2"
-services:
-  config-center:
-    image: "zookeeper:latest"
-    ports:
-      - "2181:2181"
-  registry-center-1:
-    image: "zookeeper:latest"
-    ports:
-      - "2182:2181"
-  registry-center-2:
-    image: "zookeeper:latest"
-    ports:
-      - "2183:2181"
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-consumer.properties b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-consumer.properties
index 79c6442..bf08b76 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-consumer.properties
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-consumer.properties
@@ -17,5 +17,5 @@
 #
 #
 dubbo.application.name=configcenter-multi-registries-consumer
-dubbo.config-center.address=zookeeper://${zookeeper.address:127.0.0.1}:2181
+dubbo.config-center.address=zookeeper://${config-center.address:127.0.0.1}:2181
 dubbo.config-center.config-file=dubbo.properties
diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-provider.properties b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-provider.properties
index ac58273..ddbfb85 100644
--- a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-provider.properties
+++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-provider.properties
@@ -17,5 +17,5 @@
 #
 #
 dubbo.application.name=configcenter-multi-registries-provider
-dubbo.config-center.address=zookeeper://${zookeeper.address:127.0.0.1}:2181
+dubbo.config-center.address=zookeeper://${config-center.address:127.0.0.1}:2181
 dubbo.config-center.config-file=dubbo.properties
diff --git a/dubbo-samples-multi-registry/case-configuration.yml b/dubbo-samples-multi-registry/case-configuration.yml
new file mode 100644
index 0000000..5d3bbd1
--- /dev/null
+++ b/dubbo-samples-multi-registry/case-configuration.yml
@@ -0,0 +1,39 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+services:
+  dubbo-samples-multi-registry:
+    type: app
+    basedir: .
+    mainClass: org.apache.dubbo.samples.multi.registry.MultiRegistryProvider
+
+  dubbo-samples-multi-registry-test:
+    type: test
+    basedir: .
+    tests:
+      - "**/*IT.class"
+    systemProps:
+      - zookeeper.address=dubbo-samples-multi-registry
+      - zookeeper.port.1=2181
+      - zookeeper.port.2=2182
+      - dubbo.address=dubbo-samples-multi-registry
+      - dubbo.port=20880
+    waitPortsBeforeRun:
+      - dubbo-samples-multi-registry:2181
+      - dubbo-samples-multi-registry:2182
+      - dubbo-samples-multi-registry:20880
+    depends_on:
+      - dubbo-samples-multi-registry
\ No newline at end of file
diff --git a/dubbo-samples-multi-registry/pom.xml b/dubbo-samples-multi-registry/pom.xml
index ebe3acb..8141ee3 100644
--- a/dubbo-samples-multi-registry/pom.xml
+++ b/dubbo-samples-multi-registry/pom.xml
@@ -32,163 +32,68 @@
         <dubbo.version>2.7.7</dubbo.version>
         <spring.version>4.3.16.RELEASE</spring.version>
         <junit.version>4.12</junit.version>
-        <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
-        <jib-maven-plugin.version>1.2.0</jib-maven-plugin.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
-        <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version>
-        <image.name>${project.artifactId}:${dubbo.version}</image.name>
-        <java-image.name>openjdk:8</java-image.name>
-        <dubbo.port>20890</dubbo.port>
-        <zookeeper.port.1>2181</zookeeper.port.1>
-        <zookeeper.port.2>2182</zookeeper.port.2>
-        <main-class>org.apache.dubbo.samples.multi.registry.MultiRegistryProvider</main-class>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework</groupId>
+                <artifactId>spring-framework-bom</artifactId>
+                <version>${spring.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-bom</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.dubbo</groupId>
+                <artifactId>dubbo-dependencies-zookeeper</artifactId>
+                <version>${dubbo.version}</version>
+                <type>pom</type>
+            </dependency>
+
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>${junit.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo</artifactId>
-            <version>${dubbo.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-dependencies-zookeeper</artifactId>
-            <version>${dubbo.version}</version>
             <type>pom</type>
         </dependency>
 
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>${junit.version}</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-test</artifactId>
-            <version>${spring.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
 
     <profiles>
-        <profile>
-            <id>dubbo-integration-test</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.dubbo</groupId>
-                        <artifactId>dubbo-maven-address-plugin</artifactId>
-                        <version>1.0-SNAPSHOT</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>local-address</goal>
-                                </goals>
-                                <configuration>
-                                    <localAddress>dubbo-local-address</localAddress>
-                                </configuration>
-                                <phase>initialize</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>com.google.cloud.tools</groupId>
-                        <artifactId>jib-maven-plugin</artifactId>
-                        <version>${jib-maven-plugin.version}</version>
-                        <configuration>
-                            <from>
-                                <image>${java-image.name}</image>
-                            </from>
-                            <to>
-                                <image>${image.name}</image>
-                            </to>
-                            <container>
-                                <mainClass>${main-class}</mainClass>
-                                <environment>
-                                    <DUBBO_IP_TO_REGISTRY>${dubbo-local-address}</DUBBO_IP_TO_REGISTRY>
-                                </environment>
-                                <jvmFlags>
-                                    <jvmFlag>-Dzookeeper.address=${dubbo-local-address}</jvmFlag>
-                                </jvmFlags>
-                            </container>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>dockerBuild</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>io.fabric8</groupId>
-                        <artifactId>docker-maven-plugin</artifactId>
-                        <version>${docker-maven-plugin.version}</version>
-                        <configuration>
-                            <images>
-                                <image>
-                                    <name>${image.name}</name>
-                                    <run>
-                                        <ports>
-                                            <port>${dubbo.port}:${dubbo.port}</port>
-                                            <port>${zookeeper.port.1}:${zookeeper.port.1}</port>
-                                            <port>${zookeeper.port.2}:${zookeeper.port.2}</port>
-                                        </ports>
-                                        <wait>
-                                            <log>dubbo service started</log>
-                                        </wait>
-                                    </run>
-                                </image>
-                            </images>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>start</id>
-                                <phase>pre-integration-test</phase>
-                                <goals>
-                                    <goal>start</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>stop</id>
-                                <phase>post-integration-test</phase>
-                                <goals>
-                                    <goal>stop</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <version>${maven-failsafe-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                                <configuration>
-                                    <systemPropertyVariables>
-                                        <zookeeper.address>${dubbo-local-address}</zookeeper.address>
-                                    </systemPropertyVariables>
-                                    <includes>
-                                        <include>**/*IT.java</include>
-                                    </includes>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
         <!-- For jdk 11 above JavaEE annotation -->
         <profile>
             <id>javax.annotation</id>
diff --git a/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer.xml b/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer.xml
index 6a5d94c..2fd7954 100644
--- a/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer.xml
+++ b/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer.xml
@@ -25,8 +25,8 @@
 
     <dubbo:application name="multi-registry-consumer"/>
 
-    <dubbo:registry id="beijingRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:2181" default="false" />
-    <dubbo:registry id="shanghaiRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:2182" />
+    <dubbo:registry id="beijingRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:${zookeeper.port.1:2181}" default="false" />
+    <dubbo:registry id="shanghaiRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:${zookeeper.port.2:2182}" />
 
     <dubbo:reference id="demoServiceFormDefault" interface="org.apache.dubbo.samples.multi.registry.api.DemoService"/>
     <dubbo:reference id="demoServiceFormBeijing" interface="org.apache.dubbo.samples.multi.registry.api.DemoService"
diff --git a/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-provider.xml b/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-provider.xml
index eb57f08..42cc8de 100644
--- a/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-provider.xml
+++ b/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-provider.xml
@@ -25,10 +25,10 @@
 
     <dubbo:application name="multi-registry-provider"/>
 
-    <dubbo:registry id="beijingRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:2181" default="false"/>
-    <dubbo:registry id="shanghaiRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:2182" />
+    <dubbo:registry id="beijingRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:${zookeeper.port.1:2181}" default="false"/>
+    <dubbo:registry id="shanghaiRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:${zookeeper.port.2:2182}" />
 
-    <dubbo:protocol name="dubbo" port="20890"/>
+    <dubbo:protocol name="dubbo" port="20880"/>
 
     <bean id="helloService" class="org.apache.dubbo.samples.multi.registry.impl.HelloServiceImpl"/>
     <bean id="demoService" class="org.apache.dubbo.samples.multi.registry.impl.DemoServiceImpl"/>
