ШПАРГАЛКИ
CI/CD
KUBERNETES
  • DOCKERFILE
  • DOCKER-COMPOSE
  • JENKINSFILE
  • JENKINS-PIPELINE
  • GITLAB CI/CD
  • GROOVIE
  • INSTALL
  • PODS
  • INGRESS

Установка Docker и Docker-Compose на Ubuntu/CenOS

Решил написать несколько скриптов для автоматической установки docker + docker compose на самые распространенные (на мой взгляд), дистрибутивы - Ubuntu и CentOS.

Устанавливаем на Ubuntu:

#!/bin/sh

set -o errexit
set -o nounset

IFS=$(printf '\n\t')

# Установка Docker
#sudo apt remove --yes docker docker-engine docker.io containerd runc
sudo apt update
sudo apt --yes --no-install-recommends install apt-transport-https ca-certificates
wget --quiet --output-document=- https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release --codename --short) stable"
sudo apt update
sudo apt --yes --no-install-recommends install docker-ce docker-ce-cli containerd.io
sudo usermod --append --groups docker "$USER"
sudo systemctl enable docker
printf '\nDocker установлен\n\n'

printf 'Ждем запуска Docker...\n\n'
sleep 5

# Установка Docker Compose
sudo wget --output-document=/usr/local/bin/docker-compose \
"https://github.com/docker/compose/releases/download/$(wget --quiet \
--output-document=- https://api.github.com/repos/docker/compose/releases/latest \
| grep --perl-regexp --only-matching '"tag_name": "\K.*?(?=")')/run.sh"
sudo chmod +x /usr/local/bin/docker-compose
sudo wget --output-document=/etc/bash_completion.d/docker-compose \
"https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose"

# Docker Compose
#compose_release() {
#  sudo curl --silent "https://api.github.com/repos/docker/compose/releases/latest" |
#  sudo grep -Po '"tag_name": "\K.*?(?=")'
#}

#if ! [ -x "$(command -v docker-compose)" ]; then
#  curl -L https://github.com/docker/compose/releases/download/$(compose_release)/docker-compose-$(uname -s)-$(uname -m) \
#  -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
#fi

printf '\nDocker Compose установлен\n\n'

Устанавливаем на CentOS:

#!/bin/bash

# ПЕРЕД УСТАНОВКОЙ ЗАМЕНИТЬ РЕЛИЗ КОМПОЗА НА ТЕКУЩУЮ ВЕРСИЮ!!!
# Номер релиза брать тут: https://github.com/docker/compose/releases
COMPOSE-RELEASE=1.28.2

#Апдейтим
sudo yum check-update

# Устанавливаем Docker
curl -fsSL https://get.docker.com/ | sh
sudo systemctl start docker
sudo systemctl enable docker
echo "\nDocker установлен\n\n"

# Убираем "sudo" при использовании Docker для пользователя.
sudo usermod -aG docker $(whoami)

# Устанавливаем Docker Compose
sudo curl -L \
 "https://github.com/docker/compose/releases/download/$COMPOSE-RELEASE/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose

# Изменяем права на запуск
sudo chmod +x /usr/local/bin/docker-compose

# Выводим версию композа
docker-compose --version

echo "\nDocker Compose установлен\n\n"

Вот вроде бы и все.

Оцените статью

Еще никто не оставил комментарий. Будьте первым!