Compare commits

...

4 Commits

5 changed files with 54 additions and 16 deletions

31
src/bind/scripts/update-dns.sh Executable file
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"

View File

@ -15,12 +15,17 @@ RUN if [ "$USE_INTRANET" = "true" ]; then \
echo 'Acquire::https::Verify-Host "false";' >> /etc/apt/apt.conf.d/99disable-ssl-check; \ echo 'Acquire::https::Verify-Host "false";' >> /etc/apt/apt.conf.d/99disable-ssl-check; \
fi fi
# 安装 supervisor # 安装 supervisor, net-tools, vim
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y supervisor && \ apt-get install -y supervisor net-tools vim && \
apt-get clean && \ apt-get clean && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# 配置部署时使用的apt源
RUN if [ "$USE_INTRANET" = "true" ]; then \
echo "deb [trusted=yes] https://10.92.132.52/mirrors/ubuntu2204/ jammy main" > /etc/apt/sources.list; \
fi
# 创建 supervisor 日志目录 # 创建 supervisor 日志目录
RUN mkdir -p /var/log/supervisor RUN mkdir -p /var/log/supervisor
@ -31,10 +36,6 @@ COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY start-es-supervised.sh /usr/local/bin/start-es-supervised.sh COPY start-es-supervised.sh /usr/local/bin/start-es-supervised.sh
RUN chmod +x /usr/local/bin/start-es-supervised.sh RUN chmod +x /usr/local/bin/start-es-supervised.sh
# 创建数据目录并设置权限
RUN mkdir -p /private/argus/log/elasticsearch && \
chown -R elasticsearch:elasticsearch /private/argus/log/elasticsearch
# 保持 root 用户,由 supervisor 管理用户切换 # 保持 root 用户,由 supervisor 管理用户切换
USER root USER root
@ -42,4 +43,4 @@ USER root
EXPOSE 9200 9300 EXPOSE 9200 9300
# 使用 supervisor 作为入口点 # 使用 supervisor 作为入口点
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"] CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]

View File

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

View File

@ -10,17 +10,22 @@ ARG USE_INTRANET=false
RUN if [ "$USE_INTRANET" = "true" ]; then \ RUN if [ "$USE_INTRANET" = "true" ]; then \
echo "Configuring intranet apt sources..." && \ echo "Configuring intranet apt sources..." && \
cp /etc/apt/sources.list /etc/apt/sources.list.bak && \ cp /etc/apt/sources.list /etc/apt/sources.list.bak && \
echo "deb [trusted=yes] http://10.68.64.1/ubuntu2204/ jammy main" > /etc/apt/sources.list && \ echo "deb [trusted=yes] http://10.68.64.1/ubuntu2204/ jammy main" > /etc/apt/sources.list && \
echo 'Acquire::https::Verify-Peer "false";' > /etc/apt/apt.conf.d/99disable-ssl-check && \ echo 'Acquire::https::Verify-Peer "false";' > /etc/apt/apt.conf.d/99disable-ssl-check && \
echo 'Acquire::https::Verify-Host "false";' >> /etc/apt/apt.conf.d/99disable-ssl-check; \ echo 'Acquire::https::Verify-Host "false";' >> /etc/apt/apt.conf.d/99disable-ssl-check; \
fi fi
# 安装 supervisor # 安装 supervisor, net-tools, vim
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y supervisor && \ apt-get install -y supervisor net-tools vim && \
apt-get clean && \ apt-get clean && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# 配置部署时使用的apt源
RUN if [ "$USE_INTRANET" = "true" ]; then \
echo "deb [trusted=yes] https://10.92.132.52/mirrors/ubuntu2204/ jammy main" > /etc/apt/sources.list; \
fi
# 创建 supervisor 日志目录 # 创建 supervisor 日志目录
RUN mkdir -p /var/log/supervisor RUN mkdir -p /var/log/supervisor
@ -32,9 +37,8 @@ COPY start-kibana-supervised.sh /usr/local/bin/start-kibana-supervised.sh
COPY kibana-post-start.sh /usr/local/bin/kibana-post-start.sh COPY kibana-post-start.sh /usr/local/bin/kibana-post-start.sh
RUN chmod +x /usr/local/bin/start-kibana-supervised.sh /usr/local/bin/kibana-post-start.sh RUN chmod +x /usr/local/bin/start-kibana-supervised.sh /usr/local/bin/kibana-post-start.sh
# 创建数据目录并设置权限 # kibana需要用到 /root/.config/puppeteer 路径
RUN mkdir -p /private/argus/log/kibana && \ RUN chmod 777 /root
chown -R kibana:kibana /private/argus/log/kibana
# 保持 root 用户,由 supervisor 管理用户切换 # 保持 root 用户,由 supervisor 管理用户切换
USER root USER root
@ -43,4 +47,4 @@ USER root
EXPOSE 5601 EXPOSE 5601
# 使用 supervisor 作为入口点 # 使用 supervisor 作为入口点
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"] CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]

View File

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