skip to Main Content

From my understanding, docker compose is the latest version. This is the one at least I installed from docker official documentation.

I am working on a project that use docker-compose in their makefile.

How could I forward all the calls (and their arguments) from docker-compose to docker compose ?

I created an alias:
alias docker-compose="docker compose"

It works fine in terminal. But not in the make file.

3

Answers


  1. Chosen as BEST ANSWER

    One solution I've come up with is to create a little script.

    File: /bin/docker-compose

    Content:

    docker compose "$@"
    

    Alternatively, in order to respect previous container naming convention (with underscore delimiter _ over -):

    docker compose --compatibility "$@"
    

    To make the script executable: sudo chmod +x /bin/docker-compose.

    You can check it with docker-compose version.


  2. Docker desktop comes with the option to alias docker compose v2 in Settings > General:

    Docker compose alias option

    Login or Signup to reply.
  3. If you wish to avoid any additional scripts, I recommend you to :

    • create your alias (in your ~/.profile | ~/.bash|zshrc file)

      alias docker-compose="docker compose –compatibility $@"

    • source your ~/.profile|.zsh|bashrc file in your makefile.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search