feat(deploy): dev/prod Dockerfiles in service dirs (backend/,web/), templates live beside rendered outputs, entrypoint copies /etc/booklib conf before resolver injection
This commit is contained in:
@@ -3,11 +3,18 @@
|
||||
# (Docker=127.0.0.11,podman aardvark=网络网关,见容器 /etc/resolv.conf)。
|
||||
# 启动前取 resolv.conf 首个 nameserver 注入 nginx 配置,保住 spec §11 的
|
||||
# 变量式 proxy_pass 运行时重解析(valid=10s,scale/重建后秒级感知新 IP)。
|
||||
# 配置以 :ro 挂在 /etc/booklib/(deploy/prepare.sh 渲染产物),先拷入原位再改写。
|
||||
set -eu
|
||||
for f in nginx.conf default.conf; do
|
||||
[ -r "/etc/booklib/$f" ] || { echo "entrypoint-resolver: missing /etc/booklib/$f — 先跑 deploy/prepare.sh" >&2; exit 1; }
|
||||
done
|
||||
cp /etc/booklib/nginx.conf /etc/nginx/nginx.conf
|
||||
cp /etc/booklib/default.conf /etc/nginx/conf.d/default.conf
|
||||
RESOLVER=$(awk '/^nameserver/{print $2; exit}' /etc/resolv.conf 2>/dev/null || true)
|
||||
[ -n "$RESOLVER" ] || RESOLVER=127.0.0.11
|
||||
CONF=/etc/nginx/conf.d/default.conf
|
||||
sed -i "s#resolver [0-9a-fA-F:.]* valid=#resolver ${RESOLVER} valid=#" "$CONF"
|
||||
echo "entrypoint-resolver: resolver=${RESOLVER} injected into ${CONF}"
|
||||
nginx -t
|
||||
if [ $# -gt 0 ]; then exec "$@"; fi
|
||||
exec nginx -g 'daemon off;'
|
||||
|
||||
Reference in New Issue
Block a user