Docker

How to Fix command not found: docker-compose Error in Mac?

Docker compose is a tool used to define and run multiple container docker applications. It is a YAML file that describes the services of the applications and their dependencies and helps you in creating and managing those services. While using docker, some users may experience commands not found: docker-compose error on Mac, making it difficult for the users to execute commands that work with docker-compose.

This guide will provide easy fixes to help you in recovering from the command not found: docker-compose error in Mac.

How to Fix command not found: docker-compose Error in Mac

When you enter a command related to docker-compose on Mac terminal, you will eventually experience the following error.

There could be several reasons for this type of error to occur in Mac, which are as follows:

1: Missing Docker Compose Installation on Mac

The first and major factor that could be the reason for this error to occur in Mac is the missing docker compose installation. If you have installed docker desktop applications on your Mac, you don’t need to install docker compose separately as it automatically installs the required docker-related applications. However, if you chose the homebrew package manager or apt package manager to install docker on your Mac, it might be the reason that you only install docker and forget to install docker-compose with it. The reason is both these methods need separate installation of docker compose.

2: Missing Path Variable

The PATH variable is one the most important factors that helps in finding the executable file on your system. If you experience a command not found error, it could be the reason that the file you are trying to execute is not available in the bin directory. If this case occurs, the system will be unable to find the executable file on your system and result in generating the command not found error.

Fixing command not found: docker-compose Error in Mac

Let’s explore the fixes that will help you in resolving the command not found: docker-compose error in your Mac system.

1: Installing Docker Compose on Mac

To fix the missing docker compose installation on Mac, you must install docker compose on Mac. The easiest and straightforward way to install docker-compose in Mac is by using the Homebrew package manager using the following command:

brew install docker-compose

Note: Follow here to install Homebrew on Mac.

Once brew finishes the docker-compose installation on Mac, you can run the docker version command to confirm docker-compose is successfully installed.

docker-compose version

2: Adding PATH Variable

If the command not found: docker-compose still occurs, you can use the following steps to add the PATH variable for docker-compose so that the system will be able to detect the file.

Step 1: First, check where the docker-compose file is located on your system; this can be done from the following command:

which docker-compose

Step 2: Now open .bashrc or .zshrc configuration on Mac terminal from the following command:

nano ~/.zshrc

Note: For Bash, use .bashrc configuration file while for Zsh, use .zshrc.

Step 3: Inside the .bashrc or .zshrc, you must add the following docker-compose bin directory path:

export PATH=$PATH:/usr/local/bin/docker-compose

Step 4: Save the configuration file by using Ctrl+Y+Enter and then use the following command to reload the changes to .zshrc or .bashrc configuration file.

source ~/.zshrc

Loading the above file successfully will ensure the changes are correctly applied and you can then use the commands related to docker-compose without any error.

Conclusion

The command not found: docker-compose error in Mac occurs due to missing docker-compose installation or PATH variable. To fix it, you should install docker-compose on Mac from the Homebrew package manager or set the PATH variable inside the .bashrc or .zshrc configuration file. Then reload the changes to successfully run commands related to docker-compose on your Mac system.

About the author

Awais Khan

I'm an Engineer and an academic researcher by profession. My interest for Raspberry Pi, embedded systems and blogging has brought me here to share my knowledge with others.