diff --git a/docker/README.md b/docker/README.md index b5f61ee..6ae5f2f 100644 --- a/docker/README.md +++ b/docker/README.md @@ -50,81 +50,11 @@ volumes: o: addr=remote-hostname.com,username=user,password=mysuperpassword,nodev,noexec,nosuid,vers=2.1,uid=1000,gid=1000 ``` -# Docker Installation +## Docker Installation -## Windows Docker Desktop +[Docker Installation](docker-install.md) -![docker desktop install 1](img/docker-install-1.png) -![docker desktop install 2](img/docker-install-2.png) - -## CentOS - -https://docs.docker.com/engine/install/centos/#install-using-the-repository - -## Ubuntu - -https://docs.docker.com/engine/install/ubuntu/ - -Nachfolgend eine Anleitung für Docker und Docker-Compose Intallation unter Ubuntu 20.04, aus folgenden Quellen - - - https://www.cloudbooklet.com/install-wordpress-with-docker-compose-nginx-apache-with-ssl/ - - https://shownotes.opensourceisawesome.com/running-wordpress-with-docker/ - -Fügen Sie Ihrem System dann den GPG-Schlüssel für das offizielle Docker-Repository hinzu - -``` -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - -``` - -Fügen Sie das Docker-Repository zu APT-Quellen hinzu - -``` -sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" -``` - -Aktualisieren Sie als Nächstes die Paketdatenbank mit den Docker-Paketen aus dem neu hinzugefügten Repo - -``` -sudo apt update -``` - -Stellen Sie sicher, dass Sie aus dem Docker Repo und nicht aus dem Standard-Ubuntu-Repo installieren - -``` -apt-cache policy docker-ce -``` - -docker installieren - -``` -sudo apt install docker-ce -sudo usermod -aG docker ${USER} -``` - -prüfen ob docker ausgeführt wird - -``` -sudo systemctl status docker -``` - -installieren von docker-compose - -``` -sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose -``` - -(neuste Version unter https://github.com/docker/compose/releases) - -## configure log -https://docs.docker.com/config/containers/logging/configure/ - -Das file muss möglicherweise zuerst erstellt werden, unter `etc/docker/daemon.json` - -## Post installation steps - -https://docs.docker.com/engine/install/linux-postinstall/ - -Docker als Dienst einrichten und user der Gruppe `docker` hinzufügen (docker Gruppe wird bei Installation erstellt). +--- # Docker Befehle @@ -161,36 +91,15 @@ journalctl -xu docker.service ## Container starten ``` -docker run -it %%--%%name Test_run ubuntu:20.04 /bin/bash +docker run --name Test_run ubuntu:20.04 ``` - ist wie - - ``` -docker create -it %%--%%name - und anschliessend -docker start -ai -``` - -Das Docker Image ubuntu:20.04 muss vorher heruntergeladen worden sein. Man kann natürlich auch eigene Images erstellen. - -Will man ein Docker starten ohne gleich in der Shell zu landen, also als Daemon, dann die Option `-itd` anstatt `-it` verwenden. Man kann später mit `docker exec` ein Befehl ausführen, z.B. `docker exec Test_run ls -la` oder um direkt in die Shell des Containers rein zu gehen `docker exec -it Test_run /bin/bash`. - -## Docker Container starten und neues Image hinzufügen (curl) - - - Docker Container starten aufgrund Image ubuntu:20.04 - `docker run -it %%--%%name Testcontainer ubuntu:20.04` - - `apt install curl` - - Somit haben wir Basis Image um neues Programm erweitert - - mit `exit` aus dem Container gehen - - `docker ps -a` Status ist "Exited" - - Commit machen: `docker commit -m "curl hinzugefügt" /ubuntu_mit_curl` - - `docker images` sieht man neues Image - - Wenn man will kann man jetzt nach docker hub pushen. - ## Container stoppen / neu starten -` -docker stop`. Restart: `docker restart`` + +``` +docker stop +docker restart +``` ## Befehl in Docker Container ausführen @@ -212,7 +121,7 @@ sudo docker exec -i wp_db mysql -h 172.17.0.1 -P 3306 --protocol=tcp -uroot -p w docker exec -it wordpress-baumfreunde_db_1 mysqldump --add-drop-table -uroot -pXXX wp_baum > /home/roru/wordpress-baumfreunde/wp_baum_backup.sql ``` -## SSH in docker +## Bash in container ``` sudo docker exec –it /bin/bash @@ -330,20 +239,18 @@ mongodb: NAMES, mongo: IMAGE (sieht man, wenn man docker ps macht) $ docker run -it -P --link mongodb:mongo ubuntu:20.04 /bin/bash ``` -## Docker file +## Dockerfile / Eigenes docker image -Dockerifle ist eine einfache Textdatei. Kann Images anhand der Schritte, die in einem Dockerfile definiert werden, bauen. +Dockerifle ist eine einfache Textdatei, mit der man eigene Images bauen kann. Sie basieren immer auf einem bestehenden base Image (z.B. nginx:latest) -Wenn wir ein solches Imagefile erhalten, können wir es bauen, bevor man es mit `docker run` starten kann. +Mit `docker build` wird das image erstellt, bevor man es mit `docker run` starten kann. Dockerfile erstellen, siehe Doku unter https://docs.docker.com/reference/builder -``` -$ docker build -t REPOSITORY/TAG . -``` - ## Docker Hub +hier gibt es vorgefertigte Images. + ``` $ docker login $ docker pull diff --git a/docker/docker-install.md b/docker/docker-install.md new file mode 100644 index 0000000..58039f5 --- /dev/null +++ b/docker/docker-install.md @@ -0,0 +1,79 @@ +--- +gitea: none +include_toc: true +--- +# Docker Installation + +## Windows Docker Desktop + +![docker desktop install 1](img/docker-install-1.png) +![docker desktop install 2](img/docker-install-2.png) + +## CentOS + +https://docs.docker.com/engine/install/centos/#install-using-the-repository + +## Ubuntu + +https://docs.docker.com/engine/install/ubuntu/ + +Nachfolgend eine Anleitung für Docker und Docker-Compose Intallation unter Ubuntu 20.04, aus folgenden Quellen + + - https://www.cloudbooklet.com/install-wordpress-with-docker-compose-nginx-apache-with-ssl/ + - https://shownotes.opensourceisawesome.com/running-wordpress-with-docker/ + +Fügen Sie Ihrem System dann den GPG-Schlüssel für das offizielle Docker-Repository hinzu + +``` +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - +``` + +Fügen Sie das Docker-Repository zu APT-Quellen hinzu + +``` +sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" +``` + +Aktualisieren Sie als Nächstes die Paketdatenbank mit den Docker-Paketen aus dem neu hinzugefügten Repo + +``` +sudo apt update +``` + +Stellen Sie sicher, dass Sie aus dem Docker Repo und nicht aus dem Standard-Ubuntu-Repo installieren + +``` +apt-cache policy docker-ce +``` + +docker installieren + +``` +sudo apt install docker-ce +sudo usermod -aG docker ${USER} +``` + +prüfen ob docker ausgeführt wird + +``` +sudo systemctl status docker +``` + +installieren von docker-compose + +``` +sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose +``` + +(neuste Version unter https://github.com/docker/compose/releases) + +## configure log +https://docs.docker.com/config/containers/logging/configure/ + +Das file muss möglicherweise zuerst erstellt werden, unter `etc/docker/daemon.json` + +## Post installation steps + +https://docs.docker.com/engine/install/linux-postinstall/ + +Docker als Dienst einrichten und user der Gruppe `docker` hinzufügen (docker Gruppe wird bei Installation erstellt).