Install the Compose plugin
Important
From the end of June 2023 Compose V1 won’t be supported anymore and will be removed from all Docker Desktop versions.
Make sure you switch to Compose V2 with the docker compose CLI plugin or by activating the Use Docker Compose V2 setting in Docker Desktop. For more information, see the Evolution of Compose
On this page you can find instructions on how to install the Compose plugin on Linux from the command line.
To install the Compose plugin on Linux, you can either:
Note
These instructions assume you already have Docker Engine and Docker CLI installed and now want to install the Compose plugin.
For Compose standalone, see Install Compose Standalone.
Install using the repository
Set up the repository. Find distro-specific instructions in:
Update the package index, and install the latest version of Docker Compose:
For Ubuntu and Debian, run:
For RPM-based distros, run:
Verify that Docker Compose is installed correctly by checking the version.
Where vN.N.N is placeholder text standing in for the latest version.
Update Compose
To update the Compose plugin, run the following commands:
For Ubuntu and Debian, run:
For RPM-based distros, run:
Install the plugin manually
Note
This option requires you to manage upgrades manually. We recommend setting up Docker’s repository for easier maintenance.
To download and install the Compose CLI plugin, run:
This command downloads the latest release of Docker Compose (from the Compose releases repository) and installs Compose for the active user under $HOME directory.
-
Docker Compose for all users on your system, replace
How to Install Docker Compose on Ubuntu 20.04
Docker Compose is yet another useful Docker tool. It allows users to launch, execute, communicate, and close containers with a single coordinated command. Essentially, Docker Compose is used for defining and running multi-container Docker applications.
This tutorial shows you how to install Docker Compose on Ubuntu 20.04 and how to run a container.

- A system running Ubuntu 20.04
- A user account with sudo privileges
- Docker installed on Ubuntu 20.04
- A command line/terminal window (Ctrl-Alt-T)
Note: If you are new to Docker, check out the Docker Commands Cheat Sheet.
Install Docker Compose on Ubuntu
Follow the steps below to install the latest Docker Compose version from its official GitHub repository. At the time of writing, Docker Compose 1.29.2 is the latest stable release.
You can also install Docker Compose from the Ubuntu repository by running sudo apt install docker-compose . However, this option doesn’t guarantee you are downloading the latest version.
Step 1: Upgrade and Update
Start by updating the default repository to ensure you download the latest Docker Compose:
Then, upgrade the system to ensure all local packages and programs are up to date:
Step 2: Install curl
To download the binary package using an URL, you need curl. You can check whether you have this command-line utility by typing in the terminal window:
If the output displays “ try 'curl —help' or 'curl —manual' for more information “, move on to the next step. This message means curl is installed.
![]()
However, if the terminal says “ command not found “, you need to install curl with:
Note: For some development purposes, you might need to make curl ignore SSL errors. To learn how to do this, please refer to our guide How To Make Curl Ignore Certificate Errors.
Step 3: Download the Latest Docker Version
With the system updated and curl available for use, you can download and install Docker Compose. There is no installation script once the package is locally available, it is automatically installed.
Use the following command:
The command instructs the system to save the file in the /usr/local/bin/ directory, under the name docker-compose.

Wait for the download to complete.
Note: The command used above includes the release number of the software. To check whether there are new stable versions, refer to the official list of releases on GitHub. Accordingly, modify the command if needed.
Step 4: Change File Permission
Make the downloaded file executable by changing the file permission with:
Step 5: Check Docker Compose Version
To verify the installation, check the Docker Compose version by running:
If the output shows the release downloaded in Step 3, you have successfully installed the package.

Uninstall Docker Compose on Ubuntu
Uninstalling Docker Compose from your Ubuntu system is a simple 3-step process.
Step 1: Delete the Binary
First, delete the binary with the command:
Step 2: Uninstall the Package
Then, use the apt remove command to uninstall the software:
Step 3: Remove Software Dependencies
Finally, remove the unwanted software dependencies by running:
Run a Sample Container
Check whether the installation is working correctly by running a sample container with Docker Compose. Use Docker’s hello-world container to do so.
1. Create a new directory for the sample container:
2. Move into the previously created directory:

3. Create a YAML configuration file:
4. Next, instruct Docker to create a container under the name hello-world based on the latest Hello World image on Docker Hub. To do this, add the following content to the YAML file:
5. Save the changes and exit the text editor (Ctrl+X > Y > Enter).
6. Launch the container while within the hello-world directory with the command:
This prompts Docker to launch the hello-world container. The output displays a script with a message that the installation is working correctly. Once it shows the script, it exists out of the container.

Note: Users new to Docker may find it difficult to use as they often encounter an issue right after installing it. Check out our guide on how to resolve the “Cannot Connect To The Docker Daemon” error that commonly occurs.
After reading this article, you should have successfully set up Docker Compose on Ubuntu.
Once you get in the practice of launching containers with pre-made Docker images, you may want to start making your own. If you are reading to do so, take a look at How To Create Docker Image With Dockerfile.
Name already in use
docker-compose / docs / install.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
6 contributors
Users who have contributed to this file
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Install Docker Compose
You can run Compose on OS X and 64-bit Linux. It is currently not supported on the Windows operating system. To install Compose, you’ll need to install Docker first.
Depending on how your system is configured, you may require sudo access to install Compose. If your system requires sudo , you will receive «Permission denied» errors when installing Compose. If this is the case for you, preface the install commands with sudo to install.
To install Compose, do the following:
Install Docker Engine version 1.7.1 or greater:
Mac OS X installation (installs both Engine and Compose)
Mac OS X users are done installing. Others should continue to the next step.
Enter the curl command in your termial.
The command has the following format:
If you have problems installing with curl , you can use pip instead: pip install -U docker-compose
Apply executable permissions to the binary:
Optionally, install command completion for the bash and zsh shell.
Test the installation.
If you’re upgrading from Compose 1.2 or earlier, you’ll need to remove or migrate your existing containers after upgrading Compose. This is because, as of version 1.3, Compose uses Docker labels to keep track of containers, and so they need to be recreated with labels added.
If Compose detects containers that were created without labels, it will refuse to run so that you don’t end up with two sets of them. If you want to keep using your existing containers (for example, because they have data volumes you want to preserve) you can migrate them with the following command:
Alternatively, if you’re not worried about keeping them, you can remove them &endash; Compose will just create new ones.
To uninstall Docker Compose if you installed using curl :
To uninstall Docker Compose if you installed using pip :
Note : If you get a «Permission denied» error using either of the above methods, you probably do not have the proper permissions to remove docker-compose . To force the removal, prepend sudo to either of the above commands and run again.
Составление версий файлов и обновление
Файл Compose — это файл YAML , определяющий службы, сети и тома для приложения Docker.
Форматы файлов «Составь» теперь описываются в этих ссылках,специфичных для каждой версии.
| Reference file | Что изменилось в этой версии |
|---|---|
| Составление спецификации (самая актуальная и рекомендуемая) | Versioning |
| Version 3 | Обновления версии 3 |
| Version 2 | Обновления версии 2 |
| Версия 1 (устаревшая) | Обновления версии 1 |
В разделах ниже объясняются различия между версиями, совместимость с Docker Engine и способы обновления .
Compatibility matrix
Существует несколько версий формата файла Compose-1,2,2.x и 3.x.
В этой таблице показано,какие версии файлов Compose поддерживают определенные выпуски Docker’а.
| Составьте формат файла | Релиз Docker Engine |
|---|---|
| Compose specification | 19.03.0+ |
| 3.8 | 19.03.0+ |
| 3.7 | 18.06.0+ |
| 3.6 | 18.02.0+ |
| 3.5 | 17.12.0+ |
| 3.4 | 17.09.0+ |
| 3.3 | 17.06.0+ |
| 3.2 | 17.04.0+ |
| 3.1 | 1.13.1+ |
| 3.0 | 1.13.0+ |
| 2.4 | 17.12.0+ |
| 2.3 | 17.06.0+ |
| 2.2 | 1.13.0+ |
| 2.1 | 1.12.0+ |
| 2.0 | 1.10.0+ |
В дополнение к версиям формата файла Compose, показанным в таблице, сама Compose находится в расписании выпуска, как показано в выпусках Compose , но версии формата файла не обязательно увеличиваются с каждым выпуском. Например, формат файлов Compose 3.0 был впервые представлен в версии 1.10.0 Compose и постепенно обновлялся в последующих выпусках.
Последний формат файла Compose определяется спецификацией Compose и реализуется Docker Compose 1.27.0+ .
Ищете более подробную информацию о совместимости Docker и Compose?
Мы рекомендуем быть в курсе последних выпусков, насколько это возможно. Однако, если вы используете более старую версию Docker и хотите определить, какой выпуск Compose совместим, обратитесь к примечаниям к выпуску Compose . Каждый набор примечаний к выпуску содержит подробности о том, какие версии Docker Engine поддерживаются, а также о совместимых версиях формата файлов Compose. (См. Также обсуждение в выпуске № 3404. )
Дополнительные сведения о версиях и способах обновления см . в разделе Управление версиями и обновление .
Versioning
Существует три устаревшие версии формата файла Compose:
Версия 1. Это указывается путем исключения ключа version
Версия 2.х. Это указывается с version: ‘2’ или version: ‘2.1’ и т. Д., Записью в корне YAML.
Версия 3.x, предназначенная для перекрестной совместимости между Compose и режимом роя Docker Engine . Это указывается version: ‘3’ или version: ‘3.1’ и т. д., записью в корне YAML.
Последняя и рекомендуемая версия формата файла Compose определяется спецификацией Compose . Этот формат объединяет версии 2.x и 3.x и реализован в Compose 1.27.0+ .
v2 и v3 Декларация
Примечание : При указании Compose версии файла для использования, убедитесь , чтобы указать обе главные и второстепенные номера. Если дополнительная версия не указана, по умолчанию используется 0 , а не последняя дополнительная версия.
Матрица совместимости показывает сочинить версии файлов , отображенные в выпусках Docker Engine.
Чтобы перенести проект на более позднюю версию, см. раздел « Обновление ».
Примечание . Если вы используете несколько файлов Compose или сервисов расширения , каждый файл должен иметь одну и ту же версию — например, вы не можете смешивать версии 1 и 2 в одном проекте.
Некоторые вещи различаются в зависимости от того,какую версию вы используете:
- Структура и разрешенные ключи конфигурации
- Минимальная версия Docker Engine,которую вы должны запустить.
- Поведение Compose в отношении сетевого взаимодействия
Эти различия объясняются ниже.
Версия 1 (устаревшая)
Файлы компоновки, в которых не указана версия, считаются «версией 1». В этих файлах все службы объявлены в корне документа.
Версия 1 поддерживается Compose до 1.6.x . Это будет устаревшим в будущем выпуске Compose.
Файлы версии 1 не могут объявлять именованные тома , сети или аргументы сборки .
Compose не использует преимущества сети при использовании версии 1: каждый контейнер помещается в bridge сеть по умолчанию и доступен из любого другого контейнера по его IP-адресу. Вам нужно использовать links , чтобы включить обнаружение между контейнерами.
Version 2
Создание файлов с использованием синтаксиса версии 2 должно указывать номер версии в корне документа. Все сервисы должны быть объявлены в ключе services .
Файлы версии 2 поддерживаются Compose 1.6.0+ и требуют Docker Engine версии 1.10.0+ .
Именованные тома могут быть объявлены в ключе Volumes, а volumes могут быть объявлены в ключе Networks networks
По умолчанию каждый контейнер присоединяется к сети по умолчанию для всего приложения и доступен для обнаружения по имени хоста, совпадающему с именем службы. Это означает , что ссылки в значительной степени не нужны. Дополнительные сведения см . в разделе Сеть в Compose .
Note
При указании используемой версии файла Compose обязательно укажите как старший, так и второстепенный номера . Если дополнительная версия не указана, по умолчанию используется 0 , а не последняя дополнительная версия. В результате функции, добавленные в более поздних версиях, не будут поддерживаться. Например:
Более подробный пример,определяющий объемы и сети:
Для поддержки сетевого взаимодействия было добавлено несколько других вариантов:
Параметр depends_on может использоваться вместо ссылок для указания зависимостей между службами и порядком запуска.
Подстановка переменных также была добавлена в версии 2.
Version 2.1
Обновление версии 2, которое вводит новые параметры, доступные только в Docker Engine версии 1.12.0+ . Файлы версии 2.1 поддерживаются Compose 1.9.0+ .
Вводит следующие дополнительные параметры:
Version 2.2
Обновление версии 2.1 , в котором представлены новые параметры, доступные только в Docker Engine версии 1.13.0+ . Файлы версии 2.2 поддерживаются Compose 1.13.0+ . Эта версия также позволяет указать значения шкалы по умолчанию в конфигурации службы.
Вводит следующие дополнительные параметры:
Version 2.3
Обновление версии 2.2, которое вводит новые параметры, доступные только в Docker Engine версии 17.06.0+ . Файлы версии 2.3 поддерживаются Compose 1.16.0+ .
Вводит следующие дополнительные параметры:
- target , extra_hosts и shm_size для конфигураций сборки
- start_period для healthchecks
- runtime для определений службы
Version 2.4
Обновление версии 2.3, которое вводит новые параметры, доступные только в Docker Engine версии 17.12.0+ . Файлы версии 2.4 поддерживаются Compose 1.21.0+ .
Вводит следующие дополнительные параметры:
- platform для определения услуг
- Поддержка полей расширения в корне определения службы,сети и тома
Version 3
Версия 3, предназначенная для перекрестной совместимости между Compose и режимом роя Docker Engine , удаляет несколько параметров и добавляет еще несколько.
Удалены: volume_driver , volumes_from , cpu_shares , cpu_quota , cpuset , mem_limit , memswap_limit , extends , group_add . См. руководство по обновлению , чтобы узнать, как перейти от них. (Дополнительную информацию о extends см . в разделе Расширение служб .)
Примечание : При указании Compose версии файла для использования, убедитесь , чтобы указать обе главные и второстепенные номера. Если дополнительная версия не указана, по умолчанию используется 0 , а не последняя дополнительная версия. В результате функции, добавленные в более поздних версиях, не будут поддерживаться. Например:
Version 3.1
Обновление версии 3 , в котором представлены новые параметры, доступные только в Docker Engine версии 1.13.1+ и выше.
Вводит следующие дополнительные параметры:
Version 3.2
Обновление версии 3 , в котором представлены новые параметры, доступные только в Docker Engine версии 17.04.0+ и выше.
Вводит следующие дополнительные параметры:
- cache_from в конфигурациях сборки
- Длинный синтаксис для портов и монтирования томов
- attachable сетевой драйвер
Version 3.3
Обновление версии 3, которое вводит новые параметры, доступные только в Docker Engine версии 17.06.0+ и выше.
Вводит следующие дополнительные параметры:
Version 3.4
Обновление версии 3, которое вводит новые параметры. Он доступен только с версией Docker Engine 17.09.0 и выше.
Вводит следующие дополнительные параметры:
- target и network в конфигурациях сборки
- start_period для healthchecks
- order на обновление конфигураций
- name для томов
Version 3.5
Обновление версии 3, которое вводит новые параметры. Он доступен только с версией Docker Engine 17.12.0 и выше.
Вводит следующие дополнительные параметры:
- isolation в определениях службы
- name для сетей, секретов и конфигов
- shm_size в конфигурациях сборки
Version 3.6
Обновление версии 3, которое вводит новые параметры. Он доступен только с версией Docker Engine 18.02.0 и выше.
Вводит следующие дополнительные параметры:
- размер tmpfs длямонтирования типа tmpfs
Version 3.7
Обновление версии 3, которое вводит новые параметры. Он доступен только с версией Docker Engine 18.06.0 и выше.