Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker variable is not set. Defaulting to a blank string (using env_file)

I'm trying to set env_file to a file with several environment variables for my postgreSQL connection string but when I run docker-compose build, I get this error:

time="2023-10-16T16:43:46-04:00" level=warning msg="The \"PGUSER\" variable is not set. Defaulting to a blank string."
time="2023-10-16T16:43:46-04:00" level=warning msg="The \"PGPASSWORD\" variable is not set. Defaulting to a blank string."
time="2023-10-16T16:43:46-04:00" level=warning msg="The \"PGDATABASE\" variable is not set. Defaulting to a blank string."
time="2023-10-16T16:43:46-04:00" level=warning msg="The \"PGPORT\" variable is not set. Defaulting to a blank string."
time="2023-10-16T16:43:46-04:00" level=warning msg="The \"PGPORT\" variable is not set. Defaulting to a blank string."
1 error(s) decoding:

* error decoding 'ports': No port specified: :<empty>

Here is my docker-compose:

version: "3.11"
services:
 app:
  container_name: app_container
  build: .
  volumes:
   - .:/django
  ports:
   - 8000:8000
  image: app:django
  command: python manage.py runserver 0.0.0.0:8000
  depends_on:
   - db
 db:
  container_name: postgres_container
  env_file:
   - .env.prod
  image: postgres
  restart: always
  environment:
   POSTGRES_USER: ${PGUSER}
   POSTGRES_PASSWORD: ${PGPASSWORD}
   POSTGRES_DB: ${PGDATABASE}
  ports:
   - "${PGPORT}:${PGPORT}"
 pgadmin:
  container_name: pgadmin4_container
  image: dpage/pgadmin4
  restart: always
  environment:
   PGADMIN_DEFAULT_EMAIL: [email protected]
   PGADMIN_DEFAULT_PASSWORD: Password12345
  ports:
   - "5050:80"

Here is my env_file:

PGHOST="127.0.0.1"
PGUSER="postgres"
PGPORT=5432
PGDATABASE="dev_db"
PGPASSWORD="postgres"

As you can see, they are in the same directory.

VSCode

like image 715
code writer 3000 Avatar asked Aug 10 '26 00:08

code writer 3000


1 Answers

The solution is to use single quote instead of double quote in .env file..

.env

### USE THIS
HONEYPOT_SECRET='bUTtBM$mw*3ZoDr7t#aa12F$SM%0'
### INSTEAD OF THIS
HONEYPOT_SECRET="bUTtBM$mw*3ZoDr7t#aa12F$SM%0"
like image 87
deadcoder0904 Avatar answered Aug 13 '26 03:08

deadcoder0904