Runnng миграции в postgres sql дает ошибку: фатальная: morestack на g0

Я пытаюсь запустить миграцию внутри моего контейнера докеров, и я получаю следующую ошибку при попытке запустить команду миграции

когда я запускаю докер, создается без команды миграции

/app/migrate -path  /app/migration -database "$DB_SOURCE" -verbose up

приложение строится нормально, и мой ИСТОЧНИК БД

DB_SOURCE = "postgresql://root:secret@localhost:5432/simple_bank?sslmode=disable"
simplebank-api-1       | run db migration 
simplebank-api-1       | fatal: morestack on g0
simplebank-api-1       | SIGTRAP: trace trap
simplebank-api-1       | PC=0x80a8242 m=1 sigcode=128
simplebank-api-1       | 
simplebank-api-1       | goroutine 0 [idle]:
simplebank-api-1       | runtime.abort()
simplebank-api-1       |    runtime/asm_386.s:847 +0x2
simplebank-api-1       | runtime.morestack()
simplebank-api-1       |    runtime/asm_386.s:422 +0x24
simplebank-api-1       | 
simplebank-api-1       | goroutine 1 [running, locked to thread]:
simplebank-api-1       |    goroutine running on other thread; stack unavailable
simplebank-api-1       | 
simplebank-api-1       | eax    0x17
simplebank-api-1       | ebx    0x2
simplebank-api-1       | ecx    0x8fabf6f
simplebank-api-1       | edx    0x17
simplebank-api-1       | edi    0x955cd6f
simplebank-api-1       | esi    0x9c003c0
simplebank-api-1       | ebp    0x98232c0
simplebank-api-1       | esp    0x9c4a630
simplebank-api-1       | eip    0x80a8242
simplebank-api-1       | eflags 0x206
simplebank-api-1       | cs     0x23
simplebank-api-1       | fs     0x0
simplebank-api-1       | gs     0x33
simplebank-api-1 exited with code 2

мой файл докера выглядит следующим образом:


FROM golang:1.20-alpine3.16 AS builder

WORKDIR /app

COPY . .

RUN go build -o main main.go
RUN apk add curl
RUN curl -L https://github.com/golang-migrate/migrate/releases/download/v4.15.2/migrate.linux-386.tar.gz   | tar xvz

#run

FROM alpine:3.16

WORKDIR /app

COPY --from=builder /app/main .
COPY --from=builder /app/migrate ./migrate
COPY app.env .
COPY start.sh .
COPY wait.sh .
COPY db/migration ./migration

EXPOSE 8080

CMD ["/app/main"]
ENTRYPOINT ["/app/start.sh"]

мой start.sh

#!/bin/sh
set -e
echo "run db migration "

/app/migrate -path  /app/migration -database "$DB_SOURCE" -verbose up


echo "start the app"
exec  "$@"

и docker-compose.yaml следует

version: "3.9"
services:
  postgres:
    image: postgres:15.2-alpine
    environment:
      - POSTGRES_USER=root
      - POSTGRES_PASSWORD=secret
      - POSTGRES_DB=simple_bank
  api:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
        - "8080:8080"
    environment:
      - DB_SOURCE=postgresql://root:secret@postgres:5432/simple_bank?sslmode=disable
    depends_on:
      - postgres
    entrypoint: ["/app/wait.sh","postgres:5432" , "--", "/app/start.sh"]
    command: ["/app/main"]

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
72
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

используйте migrate.linux-amd64.tar.gz вместо мигрировать.linux-386.tar.gz

Другие вопросы по теме