For a golang back-end, I am using Postgres as database everything works fine locally. But I can’t seem to run the docker-compose file.
<code>version: '3.8'
services:
app:
build: .
ports:
# - "8080:8080"
- "${PORT}:${PORT}"
depends_on:
- db
environment:
- DB_CONN=postgres://postgres:password@db:5432/tutor-connect
# - PORT=8080
- PORT=${PORT}
volumes:
- ./cmd:/app/cmd
- ./config:/app/config
- ./internal:/app/internal
- ./go.mod:/app/go.mod
- ./go.sum:/app/go.sum
- ./README.md:/app/README.md
env_file:
- .env
db:
image: postgres:16.2
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: tutor-connect
ports:
- "5433:5432"
volumes:
# - /docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
</code>
<code>version: '3.8'
services:
app:
build: .
ports:
# - "8080:8080"
- "${PORT}:${PORT}"
depends_on:
- db
environment:
- DB_CONN=postgres://postgres:password@db:5432/tutor-connect
# - PORT=8080
- PORT=${PORT}
volumes:
- ./cmd:/app/cmd
- ./config:/app/config
- ./internal:/app/internal
- ./go.mod:/app/go.mod
- ./go.sum:/app/go.sum
- ./README.md:/app/README.md
env_file:
- .env
db:
image: postgres:16.2
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: tutor-connect
ports:
- "5433:5432"
volumes:
# - /docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
</code>
version: '3.8'
services:
app:
build: .
ports:
# - "8080:8080"
- "${PORT}:${PORT}"
depends_on:
- db
environment:
- DB_CONN=postgres://postgres:password@db:5432/tutor-connect
# - PORT=8080
- PORT=${PORT}
volumes:
- ./cmd:/app/cmd
- ./config:/app/config
- ./internal:/app/internal
- ./go.mod:/app/go.mod
- ./go.sum:/app/go.sum
- ./README.md:/app/README.md
env_file:
- .env
db:
image: postgres:16.2
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: tutor-connect
ports:
- "5433:5432"
volumes:
# - /docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
Error found is:
<code>tutor-backend-app-1 | DB STRING : postgres://postgres:password@db:5432/tutor-connect
tutor-backend-app-1 | db string is : postgres://postgres:password@db:5432/tutor-connect
tutor-backend-app-1 |
tutor-backend-app-1 | 2024/06/11 06:39:25 /app/internal/adapters/db/db.go:15
tutor-backend-app-1 | [error] failed to initialize database, got error failed to connect to `host=db user=postgres database=tutor-connect`: hostname resolving error (lookup db on 127.0.0.11:53: server misbehaving)
tutor-backend-app-1 | Error connecting to DB failed to connect to `host=db user=postgres database=tutor-connect`: hostname resolving error (lookup db on 127.0.0.11:53: server misbehaving)
tutor-backend-app-1 | 2024/06/11 06:39:25 Can't connect to database
tutor-backend-db-1 exited with code 1
tutor-backend-app-1 exited with code 1
</code>
<code>tutor-backend-app-1 | DB STRING : postgres://postgres:password@db:5432/tutor-connect
tutor-backend-app-1 | db string is : postgres://postgres:password@db:5432/tutor-connect
tutor-backend-app-1 |
tutor-backend-app-1 | 2024/06/11 06:39:25 /app/internal/adapters/db/db.go:15
tutor-backend-app-1 | [error] failed to initialize database, got error failed to connect to `host=db user=postgres database=tutor-connect`: hostname resolving error (lookup db on 127.0.0.11:53: server misbehaving)
tutor-backend-app-1 | Error connecting to DB failed to connect to `host=db user=postgres database=tutor-connect`: hostname resolving error (lookup db on 127.0.0.11:53: server misbehaving)
tutor-backend-app-1 | 2024/06/11 06:39:25 Can't connect to database
tutor-backend-db-1 exited with code 1
tutor-backend-app-1 exited with code 1
</code>
tutor-backend-app-1 | DB STRING : postgres://postgres:password@db:5432/tutor-connect
tutor-backend-app-1 | db string is : postgres://postgres:password@db:5432/tutor-connect
tutor-backend-app-1 |
tutor-backend-app-1 | 2024/06/11 06:39:25 /app/internal/adapters/db/db.go:15
tutor-backend-app-1 | [error] failed to initialize database, got error failed to connect to `host=db user=postgres database=tutor-connect`: hostname resolving error (lookup db on 127.0.0.11:53: server misbehaving)
tutor-backend-app-1 | Error connecting to DB failed to connect to `host=db user=postgres database=tutor-connect`: hostname resolving error (lookup db on 127.0.0.11:53: server misbehaving)
tutor-backend-app-1 | 2024/06/11 06:39:25 Can't connect to database
tutor-backend-db-1 exited with code 1
tutor-backend-app-1 exited with code 1
Here is how I connect to the database:
<code>err := godotenv.Load(".env")
dbString := os.Getenv("DB_CONN")
var dsn = flag.String("dsn", dbString, "Connection string to database")
</code>
<code>err := godotenv.Load(".env")
dbString := os.Getenv("DB_CONN")
var dsn = flag.String("dsn", dbString, "Connection string to database")
</code>
err := godotenv.Load(".env")
dbString := os.Getenv("DB_CONN")
var dsn = flag.String("dsn", dbString, "Connection string to database")
I changed the .env value from which the application gets the connection string to the postgres db URL running in docker but it does not work.
New contributor
chala is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.