From 091885cd515bbad3d0318046cd5e6ca650296eed Mon Sep 17 00:00:00 2001 From: scriptos Date: Tue, 1 Aug 2023 12:37:55 +0200 Subject: [PATCH] initial commit --- LICENSE | 2 +- README.md | 28 ++++++++++++++++++++- docker-installer.sh | 46 ++++++++++++++++++++++++++++++++++ docker-installer.v3.sh | 40 ++++++++++++++++++++++++++++++ docker-installer2.sh | 56 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 docker-installer.sh create mode 100644 docker-installer.v3.sh create mode 100644 docker-installer2.sh diff --git a/LICENSE b/LICENSE index 2071b23..b8fadf9 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) +Copyright (c) 2023 | Patrick Asmus | scriptOS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/README.md b/README.md index a6e50e5..ee90f8e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,28 @@ -# docker-installer +# Docker Installer v3 für Ubuntu-Systeme +## Beschreibung + +Das Skript "docker-installer-v3.sh" ermöglicht die Installation von Docker und Docker-Compose auf einem Ubuntu-System. Es richtet auch das Docker-Plugin für Oh My ZSH ein, um Docker-Befehle direkt in der ZSH-Shell verwenden zu können. + +## Voraussetzungen + +Stellen Sie sicher, dass Sie über eine Verbindung zum Internet verfügen und dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind, da das Skript administrative Berechtigungen benötigt, um Docker zu installieren. + +## Verwendung + +Führen Sie das Skript mit dem folgenden Befehl in einem Terminal aus: + +```bash +bash ./docker-installer.v3.sh +``` +## Schritte des Skripts + +1. **Variablen setzen:** Das Skript setzt die Variable `USER` auf den Wert "root". Sie können diesen Wert ändern, wenn Sie Docker für einen anderen Benutzer installieren möchten. + +2. **Docker installieren:** Das Skript aktualisiert zunächst das System und installiert die erforderlichen Abhängigkeiten für die Docker-Installation. Anschließend wird der Docker-Schlüssel heruntergeladen und importiert, und die Docker-Repository-URL wird zur Paketquelle hinzugefügt. Nach einer weiteren Aktualisierung der Paketliste wird Docker installiert und der Docker-Dienst gestartet. Schließlich wird der aktuelle Benutzer der "docker"-Gruppe hinzugefügt, um Docker ohne sudo-Berechtigungen ausführen zu können. + +3. **Docker-Compose installieren:** Das Skript installiert den Docker-Compose-Befehl, indem es die neueste Version von GitHub herunterlädt und in das Verzeichnis "/usr/local/bin" kopiert. Es gibt dem Befehl die Ausführungsberechtigung. + +4. **Optionel: Ordner und Oh My ZSH Plugin einrichten:** Das Skript erstellt einen Ordner namens "docker" im Root-Verzeichnis ("/"), um Docker-Konfigurationsdateien zu speichern. Es erstellt eine leere "docker-compose.yaml"-Datei in diesem Ordner. Dann wird das Docker-Plugin für Oh My ZSH eingerichtet, indem die "plugins"-Zeile in der ZSH-Konfigurationsdatei ("/root/.zshrc") angepasst wird. + +5. **Überprüfen der Installation:** Das Skript überprüft, ob die Installation erfolgreich war, indem es die Versionen von Docker und Docker-Compose ausgibt. \ No newline at end of file diff --git a/docker-installer.sh b/docker-installer.sh new file mode 100644 index 0000000..c65f4b2 --- /dev/null +++ b/docker-installer.sh @@ -0,0 +1,46 @@ +#!/bin/bash +########################################################################################## +# .--. +# |o_o | +# |:_/ | +# // \ \ +# (| | ) +# /'\_ _/`\ +# \___)=(___/ +# _ _ _ _ _ _ +# __| | ___ ___ | | __ ___ _ __ (_) _ __ ___ | |_ __ _ | || | ___ _ __ +# / _` | / _ \ / __|| |/ // _ \| '__|_____ | || '_ \ / __|| __|/ _` || || | / _ \| '__| +#| (_| || (_) || (__ | <| __/| | |_____|| || | | |\__ \| |_| (_| || || || __/| | +# \__,_| \___/ \___||_|\_\\___||_| |_||_| |_||___/ \__|\__,_||_||_| \___||_| +# +# (c) Patrick Asmus +# support@media-techport.de +# https://www.media-techport.de +########################################################################################## +# Last Update: 06. November 2022 +# Version 1.0.2 +########################################################################################## +clear +sleep 2 +exec > >(tee -i "/var/log/docker-installer.log") +exec 2>&1 +HOSTNAME="$(hostname)" +#Globale Funktion zur Aktualisierung und Bereinigung der Umgebung +function update_and_clean { +apt update +apt full-upgrade -y +apt autoclean -y +apt autoremove -y +} +#START +sleep 2 +update_and_clean +apt install sudo -y +apt install docker-compose docker docker.io -y +mkdir /docker +touch /docker/docker-compose.yaml +echo OhMyZSH Plugin für Docker hinzufügen +sudo sed -i 's/plugins=(git)/plugins=(git docker)/g' /root/.zshrc +echo Fertig. Zeit fuer ein Bierchen. +cat /dev/null > ~/.bash_history && history -c && history -w +exit 0 \ No newline at end of file diff --git a/docker-installer.v3.sh b/docker-installer.v3.sh new file mode 100644 index 0000000..05db880 --- /dev/null +++ b/docker-installer.v3.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# Script Name: docker-installer.v3.sh +# Beschreibung: Docker & Docker-Compose installieren (Für Ubuntu) +# Aufruf: bash ./docker-installer.v3.sh +# Autor: Patrick Asmus +# Web: https://www.media-techport.de +# Git-Reposit.: https://git.media-techport.de/scriptos/docker-installer +# Version: 3.0.1 +# Datum: 11.06.2023 +##################################################### + +# Variablen +USER="root" + +# Docker installieren +sudo apt update +sudo apt install -y apt-transport-https ca-certificates curl software-properties-common +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg +echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt update +sudo apt install -y docker-ce docker-ce-cli containerd.io +sudo systemctl start docker +sudo usermod -aG docker $USER + +# Docker-compose installieren +sudo apt install -y curl +sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose +sudo chmod +x /usr/local/bin/docker-compose + +# Optional: Ordner erstellen und Plugin für Oh my ZSH aktivieren +mkdir /docker +touch /docker/docker-compose.yaml +echo OhMyZSH Plugin für Docker hinzufügen +sudo sed -i 's/plugins=(git)/plugins=(git docker)/g' /root/.zshrc + +# Überprüfen der Installation +docker --version +docker-compose --version + +exit 0 \ No newline at end of file diff --git a/docker-installer2.sh b/docker-installer2.sh new file mode 100644 index 0000000..ce9b648 --- /dev/null +++ b/docker-installer2.sh @@ -0,0 +1,56 @@ +#!/bin/bash +########################################################################################## +# .--. +# |o_o | +# |:_/ | +# // \ \ +# (| | ) +# /'\_ _/`\ +# \___)=(___/ +# _ _ _ _ _ _ +# __| | ___ ___ | | __ ___ _ __ (_) _ __ ___ | |_ __ _ | || | ___ _ __ +# / _` | / _ \ / __|| |/ // _ \| '__|_____ | || '_ \ / __|| __|/ _` || || | / _ \| '__| +#| (_| || (_) || (__ | <| __/| | |_____|| || | | |\__ \| |_| (_| || || || __/| | +# \__,_| \___/ \___||_|\_\\___||_| |_||_| |_||___/ \__|\__,_||_||_| \___||_| +# +# (c) Patrick Asmus +# support@media-techport.de +# https://www.media-techport.de +########################################################################################## +# Last Update: 14. Oktober 2022 +# Version 2.0.1 +########################################################################################## +clear +sleep 2 +exec > >(tee -i "/var/log/docker-installer2.log") +exec 2>&1 +HOSTNAME="$(hostname)" +#Globale Funktion zur Aktualisierung und Bereinigung der Umgebung +function update_and_clean { +apt update +apt full-upgrade -y +apt autoclean -y +apt autoremove -y +} +#START +sleep 2 +update_and_clean +apt install sudo -y +sudo apt-get install \ +ca-certificates \ +curl \ +gnupg \ +lsb-release -y +sudo mkdir -p /etc/apt/keyrings +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg +echo \ +"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ +$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +update_and_clean +sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin +mkdir /docker +sudo service docker start +sudo service docker enable +sudo docker run hello-world +echo Fertig. Zeit fuer ein Bierchen. +exit 0 \ No newline at end of file