This is an automated email from the ASF dual-hosted git repository.

zhonghongsheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new e17932b38d7 Document the process of running nativeTest via Docker 
Engine v29 (#37645)
e17932b38d7 is described below

commit e17932b38d763b8e836aadda6e9d9163354d0708
Author: Ling Hengqian <[email protected]>
AuthorDate: Mon Jan 5 18:01:55 2026 +0800

    Document the process of running nativeTest via Docker Engine v29 (#37645)
---
 .github/workflows/graalvm.yml                      |  2 +-
 .github/workflows/nightly-ci.yml                   |  2 +-
 .../graalvm-native-image/development/_index.cn.md  | 57 +++++++++++++++++-----
 .../graalvm-native-image/development/_index.en.md  | 56 ++++++++++++++++-----
 .../startup/graalvm-native-image.cn.md             | 54 +++++++++++++++-----
 .../startup/graalvm-native-image.en.md             | 53 +++++++++++++++-----
 .../resources/test-native/ps1/config-rdctl.ps1     | 39 +++++++++++++++
 .../ps1/wait-for-rancher-desktop-backend.ps1       |  4 --
 8 files changed, 213 insertions(+), 54 deletions(-)

diff --git a/.github/workflows/graalvm.yml b/.github/workflows/graalvm.yml
index cf0df4707d7..90c8bad055d 100644
--- a/.github/workflows/graalvm.yml
+++ b/.github/workflows/graalvm.yml
@@ -56,7 +56,7 @@ jobs:
       - name: Setup Rancher Desktop without GUI on Windows Server
         if: matrix.os == 'windows-latest'
         run: |
-          
./test/native/src/test/resources/test-native/ps1/wait-for-rancher-desktop-backend.ps1
+          ./test/native/src/test/resources/test-native/ps1/config-rdctl.ps1
           "PATH=$env:PATH" >> $env:GITHUB_ENV
       - uses: graalvm/setup-graalvm@v1
         with:
diff --git a/.github/workflows/nightly-ci.yml b/.github/workflows/nightly-ci.yml
index 1fbe37dc8fb..d9f63e42738 100644
--- a/.github/workflows/nightly-ci.yml
+++ b/.github/workflows/nightly-ci.yml
@@ -119,7 +119,7 @@ jobs:
       - name: Setup Rancher Desktop without GUI on Windows Server
         if: matrix.os == 'windows-latest'
         run: |
-          
./test/native/src/test/resources/test-native/ps1/wait-for-rancher-desktop-backend.ps1
+          ./test/native/src/test/resources/test-native/ps1/config-rdctl.ps1
           "PATH=$env:PATH" >> $env:GITHUB_ENV
       - uses: graalvm/setup-graalvm@v1
         with:
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/development/_index.cn.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/development/_index.cn.md
index 2d69c3bd05b..b78da45ef71 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/development/_index.cn.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/development/_index.cn.md
@@ -51,27 +51,38 @@ sdk use java 24.0.2-graalce
 sudo apt-get install build-essential zlib1g-dev -y
 ```
 
-可在 bash 通过如下命令安装 Rootful 模式的 Docker Engine。本文不讨论更改 `/etc/docker/daemon.json` 
的默认 logging driver。
+可在 bash 通过如下命令安装 Rootful 模式的 Docker Engine。
 
 ```shell
-sudo apt update && sudo apt upgrade -y
-sudo apt-get remove docker.io docker-doc docker-compose docker-compose-v2 
podman-docker containerd runc
-cd /tmp/
-sudo apt-get install ca-certificates curl
+sudo apt update && sudo apt upgrade --assume-yes
+sudo apt-get remove docker.io docker-compose docker-compose-v2 docker-doc 
podman-docker containerd runc
+sudo apt install ca-certificates curl --assume-yes
 sudo install -m 0755 -d /etc/apt/keyrings
 sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o 
/etc/apt/keyrings/docker.asc
 sudo chmod a+r /etc/apt/keyrings/docker.asc
 
-echo \
-  "deb [arch=$(dpkg --print-architecture) 
signed-by=/etc/apt/keyrings/docker.asc] 
https://download.docker.com/linux/ubuntu \
-  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
-  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
+sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
+Types: deb
+URIs: https://download.docker.com/linux/ubuntu
+Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
+Components: stable
+Signed-By: /etc/apt/keyrings/docker.asc
+EOF
 
 sudo apt-get update
-sudo apt-get install docker-ce docker-ce-cli containerd.io 
docker-buildx-plugin docker-compose-plugin -y
+sudo apt-get install docker-ce docker-ce-cli containerd.io 
docker-buildx-plugin docker-compose-plugin --assume-yes
 sudo groupadd docker
 sudo usermod -aG docker $USER
 newgrp docker
+
+sudo tee /etc/docker/daemon.json <<EOF
+{
+  "log-driver": "local",
+  "min-api-version": "1.24"
+}
+EOF
+
+sudo systemctl restart docker.service
 ```
 
 ### Windows
@@ -113,9 +124,19 @@ wsl --install
 winget install --id SUSE.RancherDesktop --source winget --skip-dependencies
 # 打开新的 PowerShell 7 终端
 rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
-```
 
-本文不讨论更改 Linux 发行版 `rancher-desktop` 的 `/etc/docker/daemon.json` 的默认 logging 
driver。
+@'
+{
+  "features": {
+    "containerd-snapshotter": true
+  },
+  "log-driver": "local"
+}
+'@ | rdctl shell sudo tee /etc/docker/daemon.json
+
+rdctl shutdown
+rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
+```
 
 ### Windows Server
 
@@ -131,6 +152,18 @@ iex "& { $(irm 
https://raw.githubusercontent.com/microsoft/Windows-Containers/re
 winget install --id SUSE.RancherDesktop --source winget --skip-dependencies
 # 打开新的 PowerShell 7 终端
 rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
+
+@'
+{
+  "features": {
+    "containerd-snapshotter": true
+  },
+  "log-driver": "local"
+}
+'@ | rdctl shell sudo tee /etc/docker/daemon.json
+
+rdctl shutdown
+rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
 ```
 
 这类操作常见于 `windows-latest` 的 GitHub Actions Runner 中。
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/development/_index.en.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/development/_index.en.md
index e14ae3f20d6..0ce86a929a9 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/development/_index.en.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/graalvm-native-image/development/_index.en.md
@@ -54,27 +54,37 @@ sudo apt-get install build-essential zlib1g-dev -y
 ```
 
 Developer can install Docker Engine in rootful mode by running the following 
command in bash. 
-This article does not discuss changing the default logging driver in 
`/etc/docker/daemon.json`.
 
 ```shell
-sudo apt update && sudo apt upgrade -y
-sudo apt-get remove docker.io docker-doc docker-compose docker-compose-v2 
podman-docker containerd runc
-cd /tmp/
-sudo apt-get install ca-certificates curl
+sudo apt update && sudo apt upgrade --assume-yes
+sudo apt-get remove docker.io docker-compose docker-compose-v2 docker-doc 
podman-docker containerd runc
+sudo apt install ca-certificates curl --assume-yes
 sudo install -m 0755 -d /etc/apt/keyrings
 sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o 
/etc/apt/keyrings/docker.asc
 sudo chmod a+r /etc/apt/keyrings/docker.asc
 
-echo \
-  "deb [arch=$(dpkg --print-architecture) 
signed-by=/etc/apt/keyrings/docker.asc] 
https://download.docker.com/linux/ubuntu \
-  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
-  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
+sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
+Types: deb
+URIs: https://download.docker.com/linux/ubuntu
+Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
+Components: stable
+Signed-By: /etc/apt/keyrings/docker.asc
+EOF
 
 sudo apt-get update
-sudo apt-get install docker-ce docker-ce-cli containerd.io 
docker-buildx-plugin docker-compose-plugin -y
+sudo apt-get install docker-ce docker-ce-cli containerd.io 
docker-buildx-plugin docker-compose-plugin --assume-yes
 sudo groupadd docker
 sudo usermod -aG docker $USER
 newgrp docker
+
+sudo tee /etc/docker/daemon.json <<EOF
+{
+  "log-driver": "local",
+  "min-api-version": "1.24"
+}
+EOF
+
+sudo systemctl restart docker.service
 ```
 
 ### Windows
@@ -119,9 +129,19 @@ and configure it to use the `dockerd(moby)` `Container 
Engine`.
 winget install --id SUSE.RancherDesktop --source winget --skip-dependencies
 # Open a new PowerShell 7 terminal
 rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
-```
 
-This article does not discuss changing the default logging driver in 
`/etc/docker/daemon.json` of the Linux distribution's `rancher-desktop`.
+@'
+{
+  "features": {
+    "containerd-snapshotter": true
+  },
+  "log-driver": "local"
+}
+'@ | rdctl shell sudo tee /etc/docker/daemon.json
+
+rdctl shutdown
+rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
+```
 
 ### Windows Server
 
@@ -137,6 +157,18 @@ iex "& { $(irm 
https://raw.githubusercontent.com/microsoft/Windows-Containers/re
 winget install --id SUSE.RancherDesktop --source winget --skip-dependencies
 # Open a new PowerShell 7 terminal
 rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
+
+@'
+{
+  "features": {
+    "containerd-snapshotter": true
+  },
+  "log-driver": "local"
+}
+'@ | rdctl shell sudo tee /etc/docker/daemon.json
+
+rdctl shutdown
+rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
 ```
 
 This type of operation is commonly found in the GitHub Actions Runner for 
`windows-latest`.
diff --git 
a/docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.cn.md
 
b/docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.cn.md
index d950560cff7..c08c5d9eaef 100644
--- 
a/docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.cn.md
+++ 
b/docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.cn.md
@@ -137,27 +137,38 @@ sdk install java 21.0.7-ms
 sdk use java 21.0.7-ms
 ```
 
-可在 bash 通过如下命令安装 Rootful 模式的 Docker Engine。本文不讨论更改 `/etc/docker/daemon.json` 
的默认 logging driver。
+可在 bash 通过如下命令安装 Rootful 模式的 Docker Engine。
 
 ```shell
-sudo apt update && sudo apt upgrade -y
-sudo apt-get remove docker.io docker-doc docker-compose docker-compose-v2 
podman-docker containerd runc
-cd /tmp/
-sudo apt-get install ca-certificates curl
+sudo apt update && sudo apt upgrade --assume-yes
+sudo apt-get remove docker.io docker-compose docker-compose-v2 docker-doc 
podman-docker containerd runc
+sudo apt install ca-certificates curl --assume-yes
 sudo install -m 0755 -d /etc/apt/keyrings
 sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o 
/etc/apt/keyrings/docker.asc
 sudo chmod a+r /etc/apt/keyrings/docker.asc
 
-echo \
-  "deb [arch=$(dpkg --print-architecture) 
signed-by=/etc/apt/keyrings/docker.asc] 
https://download.docker.com/linux/ubuntu \
-  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
-  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
+sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
+Types: deb
+URIs: https://download.docker.com/linux/ubuntu
+Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
+Components: stable
+Signed-By: /etc/apt/keyrings/docker.asc
+EOF
 
 sudo apt-get update
-sudo apt-get install docker-ce docker-ce-cli containerd.io 
docker-buildx-plugin docker-compose-plugin -y
+sudo apt-get install docker-ce docker-ce-cli containerd.io 
docker-buildx-plugin docker-compose-plugin --assume-yes
 sudo groupadd docker
 sudo usermod -aG docker $USER
 newgrp docker
+
+sudo tee /etc/docker/daemon.json <<EOF
+{
+  "log-driver": "local",
+  "min-api-version": "1.24"
+}
+EOF
+
+sudo systemctl restart docker.service
 ```
 
 ##### Windows
@@ -185,8 +196,27 @@ vfox use --global [email protected]
 wsl --install
 ```
 
-完成 WSL2 的启用后,在 https://rancherdesktop.io/ 下载和安装 
`rancher-sandbox/rancher-desktop`,并设置使用 `dockerd(moby)` 的 `Container Engine`。
-本文不讨论更改 Linux 发行版 `rancher-desktop` 的 `/etc/docker/daemon.json` 的默认 logging 
driver。
+完成 WSL2 的启用后,通过如下的 PowerShell 7 命令下载和安装 `rancher-sandbox/rancher-desktop`,
+并设置使用 `dockerd(moby)` 的 `Container Engine`。
+
+```shell
+winget install --id SUSE.RancherDesktop --source winget --skip-dependencies
+# 打开新的 PowerShell 7 终端
+rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
+
+@'
+{
+  "features": {
+    "containerd-snapshotter": true
+  },
+  "log-driver": "local"
+}
+'@ | rdctl shell sudo tee /etc/docker/daemon.json
+
+rdctl shutdown
+rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
+```
+
 
 #### 构建包含动态链接的 GraalVM Native Image 的 Docker Image
 
diff --git 
a/docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.en.md
 
b/docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.en.md
index 24dd0a2aa27..efeaa08b849 100644
--- 
a/docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.en.md
+++ 
b/docs/document/content/user-manual/shardingsphere-proxy/startup/graalvm-native-image.en.md
@@ -141,27 +141,38 @@ sdk install java 21.0.7-ms
 sdk use java 21.0.7-ms
 ```
 
-You can install Docker Engine in rootful mode by running the following command 
in bash. This article does not discuss changing the default logging driver in 
`/etc/docker/daemon.json`.
+You can install Docker Engine in rootful mode by running the following command 
in bash.
 
 ```shell
-sudo apt update && sudo apt upgrade -y
-sudo apt-get remove docker.io docker-doc docker-compose docker-compose-v2 
podman-docker containerd runc
-cd /tmp/
-sudo apt-get install ca-certificates curl
+sudo apt update && sudo apt upgrade --assume-yes
+sudo apt-get remove docker.io docker-compose docker-compose-v2 docker-doc 
podman-docker containerd runc
+sudo apt install ca-certificates curl --assume-yes
 sudo install -m 0755 -d /etc/apt/keyrings
 sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o 
/etc/apt/keyrings/docker.asc
 sudo chmod a+r /etc/apt/keyrings/docker.asc
 
-echo \
-  "deb [arch=$(dpkg --print-architecture) 
signed-by=/etc/apt/keyrings/docker.asc] 
https://download.docker.com/linux/ubuntu \
-  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
-  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
+sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
+Types: deb
+URIs: https://download.docker.com/linux/ubuntu
+Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
+Components: stable
+Signed-By: /etc/apt/keyrings/docker.asc
+EOF
 
 sudo apt-get update
-sudo apt-get install docker-ce docker-ce-cli containerd.io 
docker-buildx-plugin docker-compose-plugin -y
+sudo apt-get install docker-ce docker-ce-cli containerd.io 
docker-buildx-plugin docker-compose-plugin --assume-yes
 sudo groupadd docker
 sudo usermod -aG docker $USER
 newgrp docker
+
+sudo tee /etc/docker/daemon.json <<EOF
+{
+  "log-driver": "local",
+  "min-api-version": "1.24"
+}
+EOF
+
+sudo systemctl restart docker.service
 ```
 
 ##### Windows
@@ -189,8 +200,26 @@ You can enable WSL2 and set `Ubuntu WSL` as the default 
Linux distribution in Po
 wsl --install
 ```
 
-After enabling WSL2, download and install `rancher-sandbox/rancher-desktop` 
from https://rancherdesktop.io/ and set up `Container Engine` using 
`dockerd(moby)`.
-This article does not discuss changing the default logging driver in 
`/etc/docker/daemon.json` of the Linux distribution `rancher-desktop`.
+After enabling WSL2, download and install `rancher-sandbox/rancher-desktop` 
using the following PowerShell 7 command, 
+and configure `dockerd(moby)` to use the `Container Engine`.
+
+```shell
+winget install --id SUSE.RancherDesktop --source winget --skip-dependencies
+# Open a new PowerShell 7 terminal
+rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
+
+@'
+{
+  "features": {
+    "containerd-snapshotter": true
+  },
+  "log-driver": "local"
+}
+'@ | rdctl shell sudo tee /etc/docker/daemon.json
+
+rdctl shutdown
+rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
+```
 
 #### Build a Docker Image with a dynamically linked GraalVM Native Image
 
diff --git a/test/native/src/test/resources/test-native/ps1/config-rdctl.ps1 
b/test/native/src/test/resources/test-native/ps1/config-rdctl.ps1
new file mode 100644
index 00000000000..b44a0ce4742
--- /dev/null
+++ b/test/native/src/test/resources/test-native/ps1/config-rdctl.ps1
@@ -0,0 +1,39 @@
+#Requires -Version 7.4
+
+#
+# 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.
+#
+
+# This file is only used in the PowerShell 7 of ShardingSphere in GitHub 
Actions environment and should not be executed manually in a development 
environment.
+# Background information can be found at 
https://github.com/apache/shardingsphere/pull/35905 .
+iex "& { $(irm 
https://raw.githubusercontent.com/microsoft/Windows-Containers/refs/heads/Main/helpful_tools/Install-DockerCE/uninstall-docker-ce.ps1)
 } -Force"
+winget install --id jazzdelightsme.WingetPathUpdater --source winget
+winget install --id SUSE.RancherDesktop --source winget --skip-dependencies
+rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
+./test/native/src/test/resources/test-native/ps1/wait-for-rancher-desktop-backend.ps1
+
+@'
+{
+  "features": {
+    "containerd-snapshotter": true
+  },
+  "log-driver": "local"
+}
+'@ | rdctl shell sudo tee /etc/docker/daemon.json
+
+rdctl shutdown
+rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
+./test/native/src/test/resources/test-native/ps1/wait-for-rancher-desktop-backend.ps1
diff --git 
a/test/native/src/test/resources/test-native/ps1/wait-for-rancher-desktop-backend.ps1
 
b/test/native/src/test/resources/test-native/ps1/wait-for-rancher-desktop-backend.ps1
index 3f57aa3ab96..70ffedf326f 100644
--- 
a/test/native/src/test/resources/test-native/ps1/wait-for-rancher-desktop-backend.ps1
+++ 
b/test/native/src/test/resources/test-native/ps1/wait-for-rancher-desktop-backend.ps1
@@ -19,10 +19,6 @@
 
 # This file is only used in the PowerShell 7 of ShardingSphere in GitHub 
Actions environment and should not be executed manually in a development 
environment.
 # Background information can be found at 
https://github.com/apache/shardingsphere/pull/35905 .
-iex "& { $(irm 
https://raw.githubusercontent.com/microsoft/Windows-Containers/refs/heads/Main/helpful_tools/Install-DockerCE/uninstall-docker-ce.ps1)
 } -Force"
-winget install --id jazzdelightsme.WingetPathUpdater --source winget
-winget install --id SUSE.RancherDesktop --source winget --skip-dependencies
-rdctl start --application.start-in-background --container-engine.name=moby 
--kubernetes.enabled=false
 $deadline = (Get-Date).AddMinutes(10)
 $state = "UNKNOWN"
 while ((Get-Date) -lt $deadline)

Reply via email to