Can we override our project and network name inside docker-compose.yml, i.e. without using flag or environment variable?

  • What is your understanding of "project name"? The name of the image? – Franz Wimmer Nov 18 '17 at 21:25
  • No, currently it is the directory name and can be override by COMPOSE_PROJECT_NAME, the first option is too rigid as directory name might change, the other affects all projects – ntviet18 Nov 19 '17 at 12:47

This can be done in with a parameter of the docker-compose call:

$> docker-compose -p THISISMYPROJECT_AND_NWK_NAME up -d

Unfortunately there is no way to persist it at the moment. (see: https://github.com/docker/compose/issues/745)

That's why I personally prefer adding a bash alias for my projects in ~/.bash_aliases (Debian based Linux) for example:

# project PROJECT shortcuts
alias dc_PROJECT_up='docker-compose -p PROJECT up -d'
alias dc_PROJECT_down='docker-compose -p PROJECT down'

# general docker compose shortcuts
alias dc='docker-compose '
alias dc_up='docker-compose up -d'
alias dc_down='docker-compose down'

So I can call dc_PROJECT_up to start my project with a project name PROJECT. The network name is PROJECT_default then.

Additionally you can setup additional networks with custom names in the docker-composer.yml like this (v. 2.1):

version: '2.1'


    driver: bridge
    name: mynwk


You can check this with the following command:

 $> docker network ls

You should get a list of networks including yours and the default one.

| improve this answer | |
  • 1
    It seems the name parameter does not work anymore with docker compose version 3 – Alexis.Rolland Aug 19 '18 at 5:43

you can create an .env file with key=value options such as


you should note that this will only work when the .env file is in the current path

| improve this answer | |
  • I have multiple compose overrides for prod/staging/dev - is there a way to define a .env for each? – rnoodle Jul 9 at 22:39
  • it might makes sense to use a separate folder for each environment – sinaiy Jul 12 at 11:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.