29 lines
1.4 KiB
Docker
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
|