[#1] 构建时修改应用账号的uid和gid, 来和算力平台对齐

This commit is contained in:
root 2025-09-17 09:54:46 +00:00
parent d6dfdc3796
commit 6771398b5b
5 changed files with 41 additions and 10 deletions

View File

@ -5,7 +5,6 @@ echo "[INFO] Starting Elasticsearch under supervisor..."
# 创建数据目录并设置权限(如果不存在)
mkdir -p /private/argus/log/elasticsearch
chown -R elasticsearch:elasticsearch /private/argus/log/elasticsearch
# 创建软链接到Elasticsearch预期的数据目录
if [ -L /usr/share/elasticsearch/data ]; then
@ -22,9 +21,6 @@ IP=`ifconfig | grep -A 1 eth0 | grep inet | awk '{print $2}'`
echo current IP: ${IP}
echo ${IP} > /private/argus/etc/${DOMAIN}
# 更新dns执行
/private/argus/etc/update-dns.sh
echo "[INFO] Data directory linked: /usr/share/elasticsearch/data -> /private/argus/log/elasticsearch"
# 设置环境变量ES配置通过docker-compose传递

View File

@ -3,9 +3,7 @@ set -euo pipefail
echo "[INFO] Starting Kibana under supervisor..."
# 创建数据目录并设置权限(如果不存在)
mkdir -p /private/argus/log/kibana
chown -R kibana:kibana /private/argus/log/kibana
# 创建软链接到Kibana预期的数据目录
if [ -L /usr/share/kibana/data ]; then

View File

@ -10,7 +10,7 @@ services:
- xpack.security.enabled=false
- ES_JAVA_OPTS=-Xms512m -Xmx512m
volumes:
- ./private/argus/log/elasticsearch:/private/argus/log/elasticsearch
- ./private/argus/:/private/argus/
ports: ["9200:9200"]
healthcheck:
test: ["CMD-SHELL", "curl -fs http://localhost:9200 >/dev/null || exit 1"]
@ -26,7 +26,7 @@ services:
environment:
- ELASTICSEARCH_HOSTS=http://es:9200
volumes:
- ./private/argus/log/kibana:/private/argus/log/kibana
- ./private/argus/:/private/argus/
ports: ["5601:5601"]
depends_on:
es:

View File

@ -6,11 +6,17 @@ root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../" && pwd)"
echo "[INFO] Creating private directory structure for supervisor-based containers..."
mkdir -p "$root/private/argus/log/elasticsearch"
mkdir -p "$root/private/argus/log/kibana"
mkdir -p "$root/private/argus/etc/"
# 复制更新dns脚本
cp $root/scripts/update-dns.sh $root/private/argus/etc/
echo "8.8.8.8" > $root/private/argus/etc/dns.conf
# 设置数据目录权限ES 和 Kibana 容器都使用 UID 1000
echo "[INFO] Setting permissions for data directories..."
sudo chown -R 1000:1000 "$root/private/argus/log/elasticsearch" 2>/dev/null || true
sudo chown -R 1000:1000 "$root/private/argus/log/kibana" 2>/dev/null || true
sudo chown -R 2133:2015 "$root/private/argus/log/elasticsearch" 2>/dev/null || true
sudo chown -R 2133:2015 "$root/private/argus/log/kibana" 2>/dev/null || true
sudo chown -R 2133:2015 "$root/private/argus/etc" 2>/dev/null || true
echo "[INFO] Supervisor-based containers will manage their own scripts and configurations"

View File

@ -0,0 +1,31 @@
#!/bin/sh
# update-dns.sh
# 从 /private/argus/etc/dns.conf 读取 IP写入 /etc/resolv.conf
DNS_CONF="/private/argus/etc/dns.conf"
RESOLV_CONF="/etc/resolv.conf"
# 检查配置文件是否存在
if [ ! -f "$DNS_CONF" ]; then
echo "配置文件不存在: $DNS_CONF" >&2
exit 1
fi
# 生成 resolv.conf 内容
{
while IFS= read -r ip; do
# 跳过空行和注释
case "$ip" in
\#*) continue ;;
"") continue ;;
esac
echo "nameserver $ip"
done < "$DNS_CONF"
} > "$RESOLV_CONF".tmp
# 替换写入 /etc/resolv.conf
cat "$RESOLV_CONF".tmp > "$RESOLV_CONF"
rm -f "$RESOLV_CONF".tmp
echo "已更新 $RESOLV_CONF"