Files
lineage2-h5-server/mysql/Dockerfile
T

29 lines
1.4 KiB
Docker

ARG BUILD_IMAGE=l2j-build:latest
FROM ${BUILD_IMAGE} AS builder
FROM mysql:8.0
# Наш собственный скрипт создания БД/пользователя должен выполниться ПЕРВЫМ,
# поэтому у него префикс 00-. SQL-схемы Mobius (login + game) кладём следом —
# они находятся в /out/sql/{login,game} нормализованного builder-образа
# (collect-dist.sh достаёт их из db_installer/sql внутри собранного zip).
COPY mysql/init/00-create-databases.sql /docker-entrypoint-initdb.d/00-create-databases.sql
COPY --from=builder /out/sql/login /tmp/sql-login
COPY --from=builder /out/sql/game /tmp/sql-game
# Префиксуем 01-login-*, 02-game-*, чтобы порядок выполнения был предсказуем
RUN i=1 && for f in /tmp/sql-login/*.sql; do \
[ -f "$f" ] || continue; \
cp "$f" "/docker-entrypoint-initdb.d/01-login-$(printf '%03d' $i)-$(basename "$f")"; \
i=$((i+1)); \
done \
&& i=1 && for f in /tmp/sql-game/*.sql; do \
[ -f "$f" ] || continue; \
cp "$f" "/docker-entrypoint-initdb.d/02-game-$(printf '%03d' $i)-$(basename "$f")"; \
i=$((i+1)); \
done \
&& rm -rf /tmp/sql-login /tmp/sql-game \
&& echo "===== INIT SCRIPTS =====" \
&& ls -la /docker-entrypoint-initdb.d