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