Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/graalvm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand All @@ -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 中。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand All @@ -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`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand Down
39 changes: 39 additions & 0 deletions test/native/src/test/resources/test-native/ps1/config-rdctl.ps1
Original file line number Diff line number Diff line change
@@ -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
Loading
Loading