2019-11-05 09:43:08 +00:00
|
|
|
CLEAN_PACKAGES=\
|
|
|
|
docker \
|
|
|
|
docker-engine \
|
|
|
|
docker.io \
|
|
|
|
containerd \
|
|
|
|
runc
|
|
|
|
|
|
|
|
REQUIRED_PACKAGES=\
|
|
|
|
apt-transport-https \
|
|
|
|
ca-certificates \
|
|
|
|
curl \
|
|
|
|
gnupg-agent \
|
|
|
|
software-properties-common
|
|
|
|
|
|
|
|
DOCKER_PACKAGES=\
|
|
|
|
docker-ce \
|
|
|
|
docker-ce-cli \
|
|
|
|
containerd.io
|
|
|
|
|
2019-11-05 16:10:38 +00:00
|
|
|
HOME_BIN_DIR=$(HOME)/bin
|
|
|
|
|
|
|
|
DOCKER_BIN=/usr/bin/docker
|
|
|
|
DOCKER_COMPOSE_BIN=$(HOME_BIN_DIR)/docker-compose
|
|
|
|
DOCKER_REPO_FILE=/etc/apt/sources.list.d/docker.list
|
|
|
|
|
|
|
|
ROOT_TEE=sudo tee
|
2019-11-05 09:43:08 +00:00
|
|
|
ROOT_APT=sudo aptitude
|
|
|
|
ROOT_ADD_KEY=sudo apt-key
|
2019-11-05 16:10:38 +00:00
|
|
|
ROOT_ADD_USER_TO_GROUP=sudo adduser
|
2019-11-05 09:43:08 +00:00
|
|
|
RELEASE:=$(shell lsb_release -cs)
|
|
|
|
|
|
|
|
clean:
|
2019-11-05 16:10:38 +00:00
|
|
|
-docker system prune
|
|
|
|
-$(ROOT_APT) remove $(DOCKER_PACKAGES)
|
|
|
|
sudo rm -f $(DOCKER_COMPOSE_BIN)
|
|
|
|
sudo rm -f $(DOCKER_REPO_FILE)
|
|
|
|
-$(ROOT_ADD_KEY) del Docker
|
|
|
|
|
|
|
|
install: install_docker install_compose
|
|
|
|
install_docker: $(DOCKER_BIN)
|
|
|
|
install_compose: $(DOCKER_COMPOSE_BIN)
|
2019-11-05 09:43:08 +00:00
|
|
|
|
2019-11-05 16:10:38 +00:00
|
|
|
$(DOCKER_BIN):
|
|
|
|
-$(ROOT_APT) remove $(CLEAN_PACKAGES)
|
2019-11-05 09:43:08 +00:00
|
|
|
$(ROOT_APT) update
|
|
|
|
$(ROOT_APT) install -y $(REQUIRED_PACKAGES)
|
|
|
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | $(ROOT_ADD_KEY) add -
|
2019-11-05 16:10:38 +00:00
|
|
|
echo "deb https://download.docker.com/linux/ubuntu $(RELEASE) stable" \
|
|
|
|
| $(ROOT_TEE) $(DOCKER_REPO_FILE)
|
2019-11-05 09:43:08 +00:00
|
|
|
$(ROOT_APT) update
|
|
|
|
$(ROOT_APT) install -y $(DOCKER_PACKAGES)
|
|
|
|
$(ROOT_ADD_USER_TO_GROUP) $(shell id -nu) docker
|
2019-11-05 16:10:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
$(DOCKER_COMPOSE_BIN): $(HOME_BIN_DIR)
|
|
|
|
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(shell uname -s)-$(shell uname -m)" -o $(DOCKER_COMPOSE_BIN)
|
|
|
|
chmod +x $(DOCKER_COMPOSE_BIN)
|
|
|
|
|
|
|
|
$(HOME_BIN_DIR):
|
|
|
|
mkdir -p $(HOME_BIN_DIR)
|