'GoLang postgres testcontainers init script doesn't work

I want to start postgres container with init script.

request := testcontainers.ContainerRequest{
        Image:      "postgres:14.1-alpine",
        Entrypoint: nil,
        Env: map[string]string{
            "POSTGRES_DB":       "postgres",
            "PGUSER":            "postgres",
            "POSTGRES_PASSWORD": "postgres",
            //"PGDATA":            "postgres",
        },
        ExposedPorts: []string{"5432"},
        BindMounts: map[string]string{
            "/media/mihovelgod/Новый том1/GoProjects/microservices/sql/go-sql/resources/migrations": "/docker-entrypoint-initdb.d",
        },
        Name:       "postgres",
        User:       "postgres",
        WaitingFor: wait.ForLog("database system is ready to accept connections"),
        AutoRemove: true,
    }
container, err = testcontainers.GenericContainer(
        test.CTX,
        testcontainers.GenericContainerRequest{
            ContainerRequest: request,
            Started:          true,
        },
    )
    if err != nil {
        log.Panicln(err)
    }

I got the following panic messages in log.Panicln(err):

failed to create container
Error response from daemon
invalid mount config for type "bind": bind source path does not exist: /docker-entrypoint-initdb.d

The point is that it perfectly works from docker-compose.yml. How to fix this?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source