From 938afa521f02bf93c4d1c1046a13dc9ac8952dd2 Mon Sep 17 00:00:00 2001 From: "Harris.Chu" <1726587+HarrisChu@users.noreply.github.com> Date: Wed, 9 Sep 2026 15:56:14 +0800 Subject: [PATCH 1/2] fix uid and gid --- .../resources/docker-compose-casigned.yaml | 36 +++++- .../resources/docker-compose-selfsigned.yaml | 36 +++++- client/src/test/resources/docker-compose.yaml | 110 +++++++++++++----- 3 files changed, 145 insertions(+), 37 deletions(-) diff --git a/client/src/test/resources/docker-compose-casigned.yaml b/client/src/test/resources/docker-compose-casigned.yaml index 6b3c8c4ed..62faaa6ce 100644 --- a/client/src/test/resources/docker-compose-casigned.yaml +++ b/client/src/test/resources/docker-compose-casigned.yaml @@ -1,10 +1,30 @@ version: '3.4' services: + data-init: + # Docker creates missing bind-mount source directories as root. Initialize + # their ownership before Nebula services run as the image's non-root user. + image: vesoft/nebula-metad:nightly + user: root + entrypoint: ["/bin/sh", "-ec"] + command: + - | + mkdir -p /data/meta /data/storage /data/graph + mkdir -p /logs/meta /logs/storage /logs/graph + chown 10001:10001 /data/meta /data/storage /data/graph + chown 10001:10001 /logs/meta /logs/storage /logs/graph + volumes: + - ./data:/data/ + - ./logs:/logs/ + restart: "no" + metad-casigned: image: vesoft/nebula-metad:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" + depends_on: + data-init: + condition: service_completed_successfully command: - --meta_server_addrs=172.29.1.1:9559 - --local_ip=172.29.1.1 @@ -43,8 +63,8 @@ services: storaged-casigned: image: vesoft/nebula-storaged:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" command: - --meta_server_addrs=172.29.1.1:9559 @@ -62,7 +82,10 @@ services: - --ca_path=/share/resources/root.crt - --enable_ssl=true depends_on: - - metad-casigned + data-init: + condition: service_completed_successfully + metad-casigned: + condition: service_started healthcheck: test: ["CMD", "curl", "-f", "http://172.29.2.1:12000/status"] interval: 30s @@ -86,8 +109,8 @@ services: graphd-casigned: image: vesoft/nebula-graphd:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" command: - --meta_server_addrs=172.29.1.1:9559 @@ -104,7 +127,10 @@ services: - --ca_path=/share/resources/root.crt - --enable_ssl=true depends_on: - - metad-casigned + data-init: + condition: service_completed_successfully + metad-casigned: + condition: service_started healthcheck: test: ["CMD", "curl", "-f", "http://172.29.3.1:13000/status"] interval: 30s diff --git a/client/src/test/resources/docker-compose-selfsigned.yaml b/client/src/test/resources/docker-compose-selfsigned.yaml index 5366734b6..f48e994c8 100644 --- a/client/src/test/resources/docker-compose-selfsigned.yaml +++ b/client/src/test/resources/docker-compose-selfsigned.yaml @@ -1,10 +1,30 @@ version: '3.4' services: + data-init: + # Docker creates missing bind-mount source directories as root. Initialize + # their ownership before Nebula services run as the image's non-root user. + image: vesoft/nebula-metad:nightly + user: root + entrypoint: ["/bin/sh", "-ec"] + command: + - | + mkdir -p /data/meta_self /data/storage_self /data/graph_self + mkdir -p /logs/meta /logs/storage /logs/graph + chown 10001:10001 /data/meta_self /data/storage_self /data/graph_self + chown 10001:10001 /logs/meta /logs/storage /logs/graph + volumes: + - ./data:/data/ + - ./logs:/logs/ + restart: "no" + metad-selfsigned: image: vesoft/nebula-metad:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" + depends_on: + data-init: + condition: service_completed_successfully command: - --meta_server_addrs=172.30.1.1:9559 - --local_ip=172.30.1.1 @@ -43,8 +63,8 @@ services: storaged-selfsigned: image: vesoft/nebula-storaged:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" command: - --meta_server_addrs=172.30.1.1:9559 @@ -62,7 +82,10 @@ services: - --password_path=/share/resources/server.password - --enable_ssl=true depends_on: - - metad-selfsigned + data-init: + condition: service_completed_successfully + metad-selfsigned: + condition: service_started healthcheck: test: ["CMD", "curl", "-f", "http://172.30.2.1:12000/status"] interval: 30s @@ -86,8 +109,8 @@ services: graphd-selfsigned: image: vesoft/nebula-graphd:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" command: - --meta_server_addrs=172.30.1.1:9559 @@ -103,7 +126,10 @@ services: - --password_path=/share/resources/server.password - --enable_ssl=true depends_on: - - metad-selfsigned + data-init: + condition: service_completed_successfully + metad-selfsigned: + condition: service_started healthcheck: test: ["CMD", "curl", "-f", "http://172.30.3.1:13000/status"] interval: 30s diff --git a/client/src/test/resources/docker-compose.yaml b/client/src/test/resources/docker-compose.yaml index def053061..03a77014f 100644 --- a/client/src/test/resources/docker-compose.yaml +++ b/client/src/test/resources/docker-compose.yaml @@ -1,10 +1,30 @@ version: '3.4' services: + data-init: + # Docker creates missing bind-mount source directories as root. Initialize + # their ownership before Nebula services run as the image's non-root user. + image: vesoft/nebula-metad:nightly + user: root + entrypoint: ["/bin/sh", "-ec"] + command: + - | + mkdir -p /data/meta0 /data/meta1 /data/meta2 /data/storage0 /data/storage1 /data/storage2 + mkdir -p /logs/meta0 /logs/meta1 /logs/meta2 /logs/storage0 /logs/storage1 /logs/storage2 /logs/graph /logs/graph1 /logs/graph2 + chown 10001:10001 /data/meta0 /data/meta1 /data/meta2 /data/storage0 /data/storage1 /data/storage2 + chown 10001:10001 /logs/meta0 /logs/meta1 /logs/meta2 /logs/storage0 /logs/storage1 /logs/storage2 /logs/graph /logs/graph1 /logs/graph2 + volumes: + - ./data:/data/ + - ./logs:/logs/ + restart: "no" + metad0: image: vesoft/nebula-metad:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" + depends_on: + data-init: + condition: service_completed_successfully command: - --meta_server_addrs=172.28.1.1:9559,172.28.1.2:9559,172.28.1.3:9559 - --local_ip=172.28.1.1 @@ -40,9 +60,12 @@ services: metad1: image: vesoft/nebula-metad:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" + depends_on: + data-init: + condition: service_completed_successfully command: - --meta_server_addrs=172.28.1.1:9559,172.28.1.2:9559,172.28.1.3:9559 - --local_ip=172.28.1.2 @@ -78,9 +101,12 @@ services: metad2: image: vesoft/nebula-metad:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" + depends_on: + data-init: + condition: service_completed_successfully command: - --meta_server_addrs=172.28.1.1:9559,172.28.1.2:9559,172.28.1.3:9559 - --local_ip=172.28.1.3 @@ -116,8 +142,8 @@ services: storaged0: image: vesoft/nebula-storaged:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" command: - --meta_server_addrs=172.28.1.1:9559,172.28.1.2:9559,172.28.1.3:9559 @@ -131,9 +157,14 @@ services: - --heartbeat_interval_secs=2 - --timezone_name=+08:00:00 depends_on: - - metad0 - - metad1 - - metad2 + data-init: + condition: service_completed_successfully + metad0: + condition: service_started + metad1: + condition: service_started + metad2: + condition: service_started healthcheck: test: ["CMD", "curl", "-f", "http://172.28.2.1:12000/status"] interval: 30s @@ -156,8 +187,8 @@ services: storaged1: image: vesoft/nebula-storaged:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" command: - --meta_server_addrs=172.28.1.1:9559,172.28.1.2:9559,172.28.1.3:9559 @@ -171,9 +202,14 @@ services: - --heartbeat_interval_secs=2 - --timezone_name=+08:00:00 depends_on: - - metad0 - - metad1 - - metad2 + data-init: + condition: service_completed_successfully + metad0: + condition: service_started + metad1: + condition: service_started + metad2: + condition: service_started healthcheck: test: ["CMD", "curl", "-f", "http://172.28.2.2:12000/status"] interval: 30s @@ -196,8 +232,8 @@ services: storaged2: image: vesoft/nebula-storaged:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" command: - --meta_server_addrs=172.28.1.1:9559,172.28.1.2:9559,172.28.1.3:9559 @@ -211,9 +247,14 @@ services: - --heartbeat_interval_secs=2 - --timezone_name=+08:00:00 depends_on: - - metad0 - - metad1 - - metad2 + data-init: + condition: service_completed_successfully + metad0: + condition: service_started + metad1: + condition: service_started + metad2: + condition: service_started healthcheck: test: ["CMD", "curl", "-f", "http://172.28.2.3:12000/status"] interval: 30s @@ -236,8 +277,8 @@ services: graphd0: image: vesoft/nebula-graphd:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" command: - --meta_server_addrs=172.28.1.1:9559,172.28.1.2:9559,172.28.1.3:9559 @@ -251,9 +292,14 @@ services: - --enable_client_white_list=true - --client_white_list=3.0.0:test depends_on: - - metad0 - - metad1 - - metad2 + data-init: + condition: service_completed_successfully + metad0: + condition: service_started + metad1: + condition: service_started + metad2: + condition: service_started healthcheck: test: ["CMD", "curl", "-f", "http://172.28.3.1:13000/status"] interval: 30s @@ -275,8 +321,8 @@ services: graphd1: image: vesoft/nebula-graphd:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" command: - --meta_server_addrs=172.28.1.1:9559,172.28.1.2:9559,172.28.1.3:9559 @@ -290,9 +336,14 @@ services: - --enable_client_white_list=true - --client_white_list=3.0.0:test depends_on: - - metad0 - - metad1 - - metad2 + data-init: + condition: service_completed_successfully + metad0: + condition: service_started + metad1: + condition: service_started + metad2: + condition: service_started healthcheck: test: ["CMD", "curl", "-f", "http://172.28.3.2:13000/status"] interval: 30s @@ -314,8 +365,8 @@ services: graphd2: image: vesoft/nebula-graphd:nightly + user: "10001:10001" environment: - USER: root TZ: "${TZ}" command: - --meta_server_addrs=172.28.1.1:9559,172.28.1.2:9559,172.28.1.3:9559 @@ -329,9 +380,14 @@ services: - --enable_client_white_list=true - --client_white_list=3.0.0:test depends_on: - - metad0 - - metad1 - - metad2 + data-init: + condition: service_completed_successfully + metad0: + condition: service_started + metad1: + condition: service_started + metad2: + condition: service_started healthcheck: test: ["CMD", "curl", "-f", "http://172.28.3.3:13000/status"] interval: 30s From 92032aa4bc068b559e4607abb73b0ed3e5790f06 Mon Sep 17 00:00:00 2001 From: "Harris.Chu" <1726587+HarrisChu@users.noreply.github.com> Date: Wed, 9 Sep 2026 16:32:39 +0800 Subject: [PATCH 2/2] update --- client/src/test/resources/docker-compose.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/test/resources/docker-compose.yaml b/client/src/test/resources/docker-compose.yaml index 03a77014f..110a6d0c1 100644 --- a/client/src/test/resources/docker-compose.yaml +++ b/client/src/test/resources/docker-compose.yaml @@ -9,9 +9,9 @@ services: command: - | mkdir -p /data/meta0 /data/meta1 /data/meta2 /data/storage0 /data/storage1 /data/storage2 - mkdir -p /logs/meta0 /logs/meta1 /logs/meta2 /logs/storage0 /logs/storage1 /logs/storage2 /logs/graph /logs/graph1 /logs/graph2 + mkdir -p /logs/meta0 /logs/meta1 /logs/meta2 /logs/storage0 /logs/storage1 /logs/storage2 /logs/graph0 /logs/graph1 /logs/graph2 chown 10001:10001 /data/meta0 /data/meta1 /data/meta2 /data/storage0 /data/storage1 /data/storage2 - chown 10001:10001 /logs/meta0 /logs/meta1 /logs/meta2 /logs/storage0 /logs/storage1 /logs/storage2 /logs/graph /logs/graph1 /logs/graph2 + chown 10001:10001 /logs/meta0 /logs/meta1 /logs/meta2 /logs/storage0 /logs/storage1 /logs/storage2 /logs/graph0 /logs/graph1 /logs/graph2 volumes: - ./data:/data/ - ./logs:/logs/