docker-compose.yaml
version: "3"
services:
Database:
image: postgres
container_name: Database
restart: always
ports:
- "${DATA_BASE_HOST}:${DATA_BASE_HOST}"
env_file:
- 01-Source/Infrastructure/Interactions/ClientAndFrontServer/.env.dataBase.local.public
- 01-Source/Infrastructure/Interactions/ClientAndFrontServer/.env.dataBase.local.private
// ...
I made sure that paths to files are correct. If to make mistake in these path, the error like
open D:\IntelliJ IDEA\XXX\01-Source\Infrastructure\Interactions\ClientAndFrontServe
r\.env.dataBase.local.publicd:
The system cannot find the file specified.
`docker-compose` process finished with exit code 14
will occur.
.env.dataBase.local.public
DATA_BASE_HOST=localhost
DATA_BASE_PORT=5432
The error
Ttime="2022-10-23T10:51:41 09:00" level=warning msg="The \"DATA_BASE_HOST\" variable is not set. Defaulting to a blank st
ring."
1 error(s) decoding:
* error decoding 'Ports': No port specified: :<empty>
`docker-compose` process finished with exit code 15
CodePudding user response:
The env_file
directive sets up environment variables inside the container and doesn't affect docker compose.
To set environment variables you can use in docker compose, you can either name the file .env
or you can use the --env-file
option on your docker compose commands
To use your database file, you'd do
docker-compose --env-file .env.dataBase.local.public up
More info here: https://docs.docker.com/compose/environment-variables/#using-the---env-file--option