linux-notes.org
Установка docker-compose в Unix/Linux
docker-compose — это инструмент для определения и запуска многоконтейнерных приложений Docker. И я хочу описать установку данного сервиса.
Установка docker-compose в CentOS/Fedora/RedHat
Есть несколько способов установить docker-compose.
-=== СПОСОБ 1 — Использовать готовый файл===-
Процесс установки заключается в скачивании файла:
Прописываем (назначаем) пермишены:
-=== СПОСОБ 2 — Использовать установщик pip===-
Установим для начала PIP:
-=== СПОСОБ 3 — Использовать готовый bash скрипт===-
Процесс установки заключается в скачивании файла:
Прописываем (назначаем) пермишены:
Установка docker-compose в Debian/Ubuntu
Есть несколько способов установить docker-compose.
-=== СПОСОБ 1 — Использовать готовый файл===-
Процесс установки заключается в скачивании файла:
Прописываем (назначаем) пермишены:
-=== СПОСОБ 2 — Использовать установщик pip===-
Установим для начала PIP:
-=== СПОСОБ 3 — Использовать готовый bash скрипт===-
Процесс установки заключается в скачивании файла:
Прописываем (назначаем) пермишены:
Установка docker-compose в Mac OS X
Есть несколько способов установить докер компос на мак.
-=== СПОСОБ 1 — Использовать dmg пакет===-
А как установить данный пакет через консоль, я описывал тут:
-=== СПОСОБ 2 — Использовать homebrew===-
Как по мне, проще всего, использовать brew. Для начала нужно его установить — Установка homebrew в Mac OS X и после чего, выполним поиск пакета:
Для установки, используем:
Использование docker-compose в Unix/Linux
Рекомендую поставить автокомплитер для докер и докер-компос, установить можно вот так:
Чтобы настройки применились, выполняем:
Проверим какая версия используется:
Для запуска docker-compose используйте:
Чтобы запустить службу как демон, используйте:
Чтобы проверить какие контейнеры запущены, можно использовать:
Для остановки докер компоса, выполните:
Чтобы удалить связанные контейнеры, выполните:
Для помощи, вызовите:
А на этом у меня все, статья «Установка docker-compose в Unix/Linux» завершена.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.
Install Docker Compose
You can run Compose on macOS, Windows, and 64-bit Linux.
Prerequisites
Docker Compose relies on Docker Engine for any meaningful work, so make sure you have Docker Engine installed either locally or remote, depending on your setup.
On desktop systems like Docker Desktop for Mac and Windows, Docker Compose is included as part of those desktop installs.
On Linux systems, first install the Docker Engine for your OS as described on the Get Docker page, then come back here for instructions on installing Compose on Linux systems.
To run Compose as a non-root user, see Manage Docker as a non-root user.
Install Compose
Follow the instructions below to install Compose on Mac, Windows, Windows Server 2016, or Linux systems, or find out about alternatives like using the pip Python package manager or installing Compose as a container.
The instructions below outline installation of the current stable release (v1.27.3) of Compose. To install a different version of Compose, replace the given release number with the one that you want. Compose releases are also listed and available for direct download on the Compose repository release page on GitHub. To install a pre-release of Compose, refer to the install pre-release builds section.
Install Compose on macOS
Docker Desktop for Mac and Docker Toolbox already include Compose along with other Docker apps, so Mac users do not need to install Compose separately. Docker install instructions for these are here:
Install Compose on Windows desktop systems
Docker Desktop for Windows and Docker Toolbox already include Compose along with other Docker apps, so most Windows users do not need to install Compose separately. Docker install instructions for these are here:
If you are running the Docker daemon and client directly on Microsoft Windows Server, follow the instructions in the Windows Server tab.
Install Compose on Windows Server
Follow these instructions if you are running the Docker daemon and client directly on Microsoft Windows Server and want to install Docker Compose.
Start an “elevated” PowerShell (run it as administrator). Search for PowerShell, right-click, and choose Run as administrator. When asked if you want to allow this app to make changes to your device, click Yes.
In PowerShell, since GitHub now requires TLS1.2, run the following:
Then run the following command to download the current stable release of Compose (v1.27.3):
Note: On Windows Server 2019, you can add the Compose executable to $Env:ProgramFiles\Docker . Because this directory is registered in the system PATH , you can run the docker-compose —version command on the subsequent step with no additional configuration.
Test the installation.
Install Compose on Linux systems
On Linux, you can download the Docker Compose binary from the Compose repository release page on GitHub. Follow the instructions from the link, which involve running the curl command in your terminal to download the binaries. These step-by-step instructions are also included below.
For alpine , the following dependency packages are needed: py-pip , python-dev , libffi-dev , openssl-dev , gcc , libc-dev , and make .
Run this command to download the current stable release of Docker Compose:
To install a different version of Compose, substitute 1.27.3 with the version of Compose you want to use.
If you have problems installing with curl , see Alternative Install Options tab above.
Apply executable permissions to the binary:
Note: If the command docker-compose fails after installation, check your path. You can also create a symbolic link to /usr/bin or any other directory in your path.
Optionally, install command completion for the bash and zsh shell.
Test the installation.
Alternative install options
Install using pip
For alpine , the following dependency packages are needed: py-pip , python-dev , libffi-dev , openssl-dev , gcc , libc-dev , and make .
Compose can be installed from pypi using pip . If you install using pip , we recommend that you use a virtualenv because many operating systems have python system packages that conflict with docker-compose dependencies. See the virtualenv tutorial to get started.
If you are not using virtualenv,
pip version 6.0 or greater is required.
Install as a container
Compose can also be run inside a container, from a small bash script wrapper. To install compose as a container run this command:
Install pre-release builds
If you’re interested in trying out a pre-release build, you can download release candidates from the Compose repository release page on GitHub. Follow the instructions from the link, which involves running the curl command in your terminal to download the binaries.
Pre-releases built from the “master” branch are also available for download at https://dl.bintray.com/docker-compose/master/.
Pre-release builds allow you to try out new features before they are released, but may be less stable.
Upgrading
If you’re upgrading from Compose 1.2 or earlier, 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 your containers need to be recreated to add the labels.
If Compose detects containers that were created without labels, it refuses 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 use Compose 1.5.x to migrate them with the following command:
Alternatively, if you’re not worried about keeping them, you can remove them. Compose just creates new ones.
Uninstallation
To uninstall Docker Compose if you installed using curl :
To uninstall Docker Compose if you installed using pip :
Got a “Permission denied” error?
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.
Установка Docker Compose в Ubuntu 18.04
Posted January 7, 2020
Введение
Docker — это отличный инструмент для автоматизации развертывания приложений Linux внутри контейнеров ПО, но для использования всех его возможностей необходимо, чтобы каждый компонент приложения запускался в своем собственном контейнере. Для сложных приложений с большим количеством компонентов, организация совместных запуска, коммуникации и остановки всех контейнеров может быстро стать очень непростой и запутанной задачей.
Сообщество Docker предложило популярное решение, которое называется Fig и позволяет вам использовать единый файл YAML для организации совместной работы всех ваших контейнеров и конфигураций. Оно стало настолько популярным, что команда Docker решила создать Docker Compose на базе исходного кода Fig, который в настоящее является устаревшим инструментом и не поддерживается. Docker Compose упрощает организацию процессов контейнеров Docker, включая запуск, остановку и настройку связей и томов внутри контейнера.
В этом обучающем модуле мы расскажем вам, как установить последнюю версию Docker Compose для управления приложениями с несколькими контейнерами.
Предварительные требования
Для выполнения этого руководства вам потребуется сервер Ubuntu 18.04 и следующее:
- Пользователь с привилегиями sudo без прав root (в статье Начальная настройка сервера с Ubuntu 18.04 объясняется, как это настроено).
- Docker, установленный согласно инструкциям в шаге 1 и шаге 2 руководства Установка и использование Docker в Ubuntu 18.04
После установки всех необходимых компонентов мы сможем двигаться дальше.
Примечание. Хотя в предварительных условиях содержатся указания по установке Docker в Ubuntu 18.04 команды docker в этой статье должны работать в других операционных системах, где установлен Docker.
Шаг 1 — Установка Docker Compose
Хотя мы можем установить Docker Compose из официальных репозиториев Ubuntu, там не представлены самые последние версии, поэтому мы будем устанавливать Docker Compose из репозитория Docker на GitHub. Команда ниже немного отличается от команды, которую вы найдете на странице Releases. Благодаря использованию флага -o для указания файла вывода вместо перенаправления вывода, этот синтаксис позволяет избежать ошибки отсутствия прав доступа, возникающую при использовании sudo .
Мы проверим текущую версию и при необходимости обновим ее с помощью следующей команды:
После этого мы настроим разрешения:
Затем мы проверим, что установка прошла успешно, с помощью проверки версии:
В результате должна быть выведена установленная нами версия:
Теперь, когда мы установили Docker Compose, мы можем запустить пример «Hello World».
Шаг 2 — Запуск контейнера с помощью Docker Compose
В общедоступном реестре Docker, Docker Hub, содержится образ Hello World, используемый для демонстрации и тестирования. Он демонстрирует минимальные параметры конфигурации, необходимые для запуска контейнера с помощью Docker Compose: файл YAML, вызывающий отдельный образ:
Сначала мы создадим директорию для файла YAML и перейдем в нее:
Затем мы создадим в этой директории файл YAML:
Поместите в файл следующие данные, сохраните его и закройте текстовый редактор:
Первая строка файла YAML используется в качестве части имени контейнера. Вторая строка указывает, какой образ используется для создания контейнера. При запуске команды docker-compose up она будет искать локальный образ по указанному имени, т.е. hello-world . После этого можно сохранить и закрыть файл.
Мы можем вручную просмотреть образы в нашей системе с помощью команды docker images :
Когда локальные образы отсутствуют, будут отображены только заголовки столбцов:
Далее, находясь в директории
/hello-world , мы выполним следующую команду:
При первом запуске команды, если локальный образ с именем hello-world отсутствует, Docker Compose будет загружать его из открытого репозитория Docker Hub:
После загрузки образа docker-compose создает контейнер, помещает в него и запускает программу hello, что, в свою очередь, подтверждает, что установка, выполнена успешно:
Затем программа отображает объяснение того, что она сделала:
Контейнеры Docker продолжают работать, пока команда остается активной, поэтому после завершения работы hello контейнер останавливается. Следовательно, когда мы просматриваем активные процессы, заголовки столбцов будут появляться, но контейнер hello-world не будет появляться в списке, поскольку он не запущен.
Мы можем просмотреть информацию контейнера, которая нам потребуется на следующем шаге, используя флаг -a , с помощью которого можно отобразить все контейнеры, а не только активные:
Так мы можем получить информацию, которая нам потребуется для удаления контейнера, когда мы закончим работать с ним.
Шаг 3 — Удаление образа (необязательно)
Чтобы избежать необязательного использования дискового пространства, мы удалим локальный образ. Для этого нам потребуется удалить все контейнеры, которые содержат образ, с помощью команды docker rm , после которой следует CONTAINER ID или NAME. Ниже мы используем CONTAINER ID из команды docker ps -a , которую мы только что запустили. Обязательно замените идентификатор на идентификатор вашего контейнера:
После удаления всех контейнеров, которые содержат образ, мы можем удалить образ:
Заключение
Мы установили Docker Compose, протестировали установку, запустив пример Hello World, и удалили тестовый образ и контейнер.
Хотя пример Hello World использовался для подтверждения корректности установки, простая конфигурация не демонстрирует одно из главных преимуществ Docker Compose — возможность одновременного запуска группы контейнеров Docker. Чтобы увидеть силу Docker Compose в действии, вы можете ознакомиться с практическим примером в статье Настройка среды непрерывного интеграционного тестирования с помощью Docker и Docker Compose в Ubuntu 16.04 (обратите внимание, что эта статья для Ubuntu 16.04, а не 18.04)