Установка Docker и Docker-compose на Ubuntu 18.04

Содержание
Нет смысла расказывать, что такое Docker раз вы читаете это. В этом посте я расскажу как быстро и просто установить Docker и Docker-compose на Ubuntu 18.04.
Существует 2 способа установить Docker: из репозитории Ubuntu, из официального репозитория Docker’а. Расскажу про оба.
Установка Docker из репозитория Ubuntu
Тут все просто. Вооружаемся apt или apt-get и ставим как обычное приложение:
sudo apt update
sudo apt install docker.io
Запускаем службу докер и включаем автозапуск при старте системы:
sudo systemctl start docker
sudo systemctl enable docker
Проверяем, какая версия докер установилась:
docker --version
На выходе видим плюс минус такую картину:
Docker version 17.12.1-ce, build 7390fc6
Установка Docker из официального репозитория
Докер доступен в 2 вариантах:
- Community Edition (CE)
- Enterprise Edition (EE)
Мы будем ставить Docker Community Edition (CE).
Перед началом
Если у вас стоит один из следующих пакетов: docker или docker-engine или docker.io, то их надо удалить.
Если же докера в системе нет, то скипайте этот шаг.
sudo apt-get -y remove docker docker-engine docker.io
Подключаем Docker репозиторий
Для начала нужно установить все необходимые зависимости:
sudo apt update
sudo apt-get install -y apt-transport-https software-properties-common ca-certificates curl wget
Добавляем GPG ключ репов докера в систему:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Теперь добавляем непосредственно сами репозитории. Выбираем одну из подходяших команд и выполняем ее в терминале.
На момент написания не работали репы STABLE и EDGE, но вы попробуйте вдруг уже все заработало
### STABLE - Ubuntu 18.04 - НЕ РАБОТАЕТ ###
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" | sudo tee /etc/apt/sources.list.d/docker.list
### EDGE - Ubuntu 18.04 - НЕ РАБОТАЕТ ###
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic edge" | sudo tee /etc/apt/sources.list.d/docker.list
### NIGHTLY - Ubuntu 18.04 ###
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic nightly" | sudo tee /etc/apt/sources.list.d/docker.list
Обновляем кэш репов:
sudo apt update
Убедитесь, что вы устанавливаете докер из официального репозитория:
sudo apt-cache policy docker-ce
На выходе:
docker-ce:
Installed: (none)
Candidate: 18.06.0~ce~dev~git20180504.170722.0.0e0adf0-0~ubuntu
Version table:
18.06.0~ce~dev~git20180504.170722.0.0e0adf0-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu bionic/nightly amd64 Packages
18.06.0~ce~dev~git20180503.170717.0.9bc9d40-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu bionic/nightly amd64 Packages
Устанавливаем Docker CE
Опять таки теперь все просто, ставим как обычную программу:
sudo apt -y install docker-ce
Запускаем службу докер и включаем автозапуск при старте системы:
sudo systemctl start docker
sudo systemctl enable docker
Проверяем, какая версия докер установилась:
docker --version
На выходе видим плюс миниус такую картину:
Docker version 18.06.0-ce-dev, build 0e0adf0
Проверяем работает ли Docker
Запускаем докер контейнер для проверки:
sudo docker run hello-world
Видим следующее:
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete
Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
Радуемся, машем руками, все работает! Если нет - RTFM.
Устанавливаем Docker-compose
Запускаем эту команду для установки последней версии docker-compose, проверить какая версия является последней можно тут:
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
Делаем файл запускаемым:
sudo chmod +x /usr/local/bin/docker-compose
При желании можно настроить автодополнение команды для bash или zsh.
Проверяем, как все работает:
docker-compose --version
Увидим плюс минус:
docker-compose version 1.21.2, build 1719ceb
Разрешаем не root пользователю запускать Docker
По умолчанию обычные пользователи не могут запускать докер без использования sudo, но все поправимо.
Никогда так не делайте на продакшине! Это практически выдача рутовых прав пользователю
Создаем группу docker, если ее еще нет:
sudo groupadd docker
Добавляем своего пользователя в группу docker:
sudo usermod -aG docker username
Перелогиваемся и смело выполняем:
docker run hello-world
На этом все.
Комментарии