Как установить Docker Compose в Linux

Как установить Docker Compose в Linux

 

Как установить Docker Compose в Ubuntu 20.04 / 18.04 / Debian 10 / CentOS 8 / Fedora 33/32/31 ?. Это руководство покажет вам, как установить последнюю версию Docker Compose в Linux. Compose — это инструмент для определения и запуска многоконтейнерного приложения Docker. Файл YAML используется для настройки служб вашего приложения.

Этот пост представляет собой краткое пошаговое руководство для разработчиков и системных администраторов, которые хотят настроить Docker Compose в Linux. Мы проверим страницу выпусков Github API для проекта и загрузим последний двоичный файл.

Установите последнюю версию Docker Compose в Linux

Для этой операции в вашей системе должен быть установлен curl. И, конечно же, доступ к Терминалу как пользователю с привилегиями sudo.

---- CentOS / RHEL -----
$ sudo yum -y install curl

---- Debian / Ubuntu ----
$ sudo apt install -y curl

----- Fedora -----
$ sudo dnf -y install curl

После установки curl загрузите последнюю версию Compose на свой компьютер с Linux.

curl -s https://api.github.com/repos/docker/compose/releases/latest \
  | grep browser_download_url \
  | grep docker-compose-Linux-x86_64 \
  | cut -d '"' -f 4 \
  | wget -qi -

Сделайте двоичный файл исполняемым.

chmod +x docker-compose-Linux-x86_64

Переместите файл в свой PATH.

sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

Подтвердите версию.

$ docker-compose version
docker-compose version 1.28.6, build 5db8d86f
docker-py version: 4.4.4
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

Добавить пользователя в группу докеров:

sudo usermod -aG docker $USER
newgrp docker

Настройка завершения Compose из командной строки

В Compose есть  завершение команд  для оболочки bash и zsh.

Для пользователей Bash

Поместите сценарий завершения в /etc/bash_completion.d/.

sudo curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose

Загрузите файл или повторно войдите в систему, чтобы воспользоваться функцией завершения.

source /etc/bash_completion.d/docker-compose

Для пользователей Zsh

Загрузите сценарий завершения в свой  ~/.zsh/completion/

mkdir -p ~/.zsh/completion
curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose

Включите каталог в свой  $fpath , добавив  ~/.zshrc:

fpath=(~/.zsh/completion $fpath)

Убедитесь, что  compinit он загружен, или сделайте это, добавив  ~/.zshrc:

autoload -Uz compinit && compinit -i

Затем перезагрузите оболочку:

exec $SHELL -l

Протестируйте установку Docker Compose.

Создайте тестовый файл Docker Compose.

$ vim docker-compose.yml

Добавьте в файл данные ниже.

version: '3'  
services:
  web:
    image: nginx:latest
    ports:
     - "8080:80"
    links:
     - php
  php:
    image: php:7-fpm

Запустите сервисные контейнеры.

$ docker-compose up -d
Starting root_php_1 … done
Starting root_web_1 … done

Вывод:

Показать работающие контейнеры

$ docker-compose ps
   Name                 Command              State          Ports        
-------------------------------------------------------------------------
root_php_1   docker-php-entrypoint php-fpm   Up      9000/tcp            
root_web_1   nginx -g daemon off;            Up      0.0.0.0:8080->80/tcp

Уничтожить контейнеры

$ docker-compose stop
Stopping root_web_1 ... done
Stopping root_php_1 ... done

$ docker-compose rm -f
Going to remove root_web_1, root_php_1
Removing root_web_1 ... done
Removing root_php_1 ... done

Пройдите через официальный  Докер документацию  и  Docker Compose документацию ,  чтобы узнать больше