DevOps

Script para configurar docker y docker-compose

Autorangel cruz
Publicado
Lectura1 min de lectura

Docker Compose es una herramienta que permite simplificar el uso de Docker. A partir de archivos YAML es más sencillo crear contenedores, conectarlos, habilitar puertos, volumenes, etc.

script de instalación

#!/bin/bash
#
// Viernes, Junio 28/2018
// Developed by angel <angel@tepuilabs.dev>
 
if [[ $USER != root ]]; then
    echo "############################################"
    echo "# Error: Debe tener privilegios de ROOT ###"
    echo "##########################################"
    exit 1
fi
 
set -eu
export DEBIAN_FRONTEND=noninteractive
 
#
// verificamos si tenemos Docker.
command -v docker >/dev/null 2>&1 || {
    echo >&2 "Configurando requisitos para Docker..."
    apt-get update --fix-missing > /dev/null 2>&1
    curl -sSL https://get.docker.com/ | sh > /dev/null 2>&1
    sleep 4.0
    echo >&2 "Listo..."
}
 
#
// configurando docker-compose
command -v docker-compose >/dev/null 2>&1 || {
    echo >&2 "Configurando docker-compose"
    COMPOSE_VERSION=$1
    curl -L https://github.com/docker/compose/releases/download/$COMPOSE_VERSION/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose > /dev/null 2>&1
    chmod +x /usr/local/bin/docker-compose
    sleep 4.0
    echo >&2 "Listo..."
}
 
echo >&2 "Configurando usuario en el grupo docker..."
sudo usermod -aG docker ${USER}
sleep 4.0
echo >&2 "Listo..."
 
echo "#############################################"
echo "## Se ha configurado el sistema con Docker #"
echo "###########################################"
 
exit 0;

como se usa?

En primer lugar, se recomienda que el usuario tenga privilegios de root:

sudo chmod +x docker-config.sh

Luego hay que ir a https://github.com/docker/compose/releases y tomar la versión del stable release que al momento es 1.29.2 y pasarla como argumento al script

sudo ./docker-config.sh 1.21.2

Y listo, ya tenemos docker y docker compose instalado en nuestro equipo.

Bio
Angel Cruz

Desarrollador web full-stack enfocado en React, buenas prácticas y código abierto. Apasionado por construir productos útiles y compartir lo aprendido en el camino.