From 30ec37238495d508706ddae356239f2a14f9510e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Zi=C4=99tkiewicz?= Date: Mon, 28 Mar 2022 09:40:28 +0200 Subject: [PATCH] Updated docker slides --- IUM_03.CI-Jenkins.ipynb | 2 +- IUM_04.Konteneryzacja.ipynb | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/IUM_03.CI-Jenkins.ipynb b/IUM_03.CI-Jenkins.ipynb index 93b9925..70e1e2a 100644 --- a/IUM_03.CI-Jenkins.ipynb +++ b/IUM_03.CI-Jenkins.ipynb @@ -27,7 +27,7 @@ }, "source": [ "## Ciągła integracja \n", - " - Jest to praktyka rozwoju projektów informatycznych polegająca na bardzo częstym włączaniu nowych zmian do głównej gałęzi (branch)\n", + " - Jest to praktyka rozwoju projektów informatycznych polegająca na częstym włączaniu nowych zmian do głównej gałęzi (branch)\n", " - Dzięki jej stosowaniu nie dochodzi do konfliktów przy łączeniu (mergowaniu) gałęzi rozwojowej (feature branch) z główną (master)\n", " - Żeby stosować tę technikę, zmiany muszą być za każdym razem przetestowane, we wspólnym środowisku, tak, żeby działały u innych deweloperów\n", " - Stąd narodziła się potrzeba stosowania systemów automatycznej ciągłej integracji\n", diff --git a/IUM_04.Konteneryzacja.ipynb b/IUM_04.Konteneryzacja.ipynb index 09e4e2f..4f133d3 100644 --- a/IUM_04.Konteneryzacja.ipynb +++ b/IUM_04.Konteneryzacja.ipynb @@ -12,7 +12,7 @@ "
\n", "

Inżynieria uczenia maszynowego

\n", "

4. Konteneryzacja [laboratoria]

\n", - "

Tomasz Ziętkiewicz (2021)

\n", + "

Tomasz Ziętkiewicz (2022)

\n", "
\n", "\n", "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)" @@ -117,7 +117,7 @@ } }, "source": [ - "## 1.3 Podstawowe polecenia\n", + "### 1.3 Podstawowe polecenia\n", "- ```docker help [polecenie]``` - wyświetla listę dostępnych poleceń dockera lub opis podanego polecenia. Rozbudowana dokumentacja poleceń: https://docs.docker.com/engine/reference/commandline/docker/\n", "- ```docker run``` - uruchamia istniejący obraz tworząc kontener. Przykładowe wywołania:\n", " - ```docker run -i -t ubuntu```
\n", @@ -126,7 +126,6 @@ " - ```docker run -p 8080:8080 jenkins/jenkins:lts```
\n", " Uruchomi kontener z Jenkinsem, w wersji \"LTS\". Jeśli obraz Jenkins nie był wcześniej zbudowany/pobrany na lokalną maszynę, automatycznie zostanie pobrany z [Docker Hub](https://hub.docker.com/r/jenkins/jenkins).\n", " Port 8080 konenera zostanie powiązany z portem 8080 hosta. Dzięki temu będziemy mogli w przeglądarce dostać się do Jenkinsa pod adresem http://localhost:8080\n", - " Ważne: po zatrzymaniu kontenera \n", "- ```docker build [OPTIONS] PATH | URL | -``` - buduje obraz na podstawie pliku Dockerfile i kontekstu (plików dostępnych podczas budowania). Przykład:
\n", " - ```docker build -t tzietkiewicz/helloworld:1.0 .```
\n", " buduje obraz przekazując bieżący katalog (`.`) jako kontekst i korzystając z pliku Dockerfile znajdującego się tamże. Obraz zostanie otagowany (`-t`) tagiem `tzietkiewicz/helloworld` z wersją `1.0`\n", @@ -134,6 +133,7 @@ "- ```docker ps``` - listuje uruchomione/zatrzymane kontenery\n", "- ```docker stop CONTAINER_ID``` - zatrzymuje kontener. Uruchomione w nim procesy zostają wyłączone (`SIGTERM` -> `SIGKILL`)\n", "- ```docker start CONTAINER_ID``` - uruchamia ponownie kontener\n", + "- ```docker system df``` - pokazuje miejsce zajęte przez obrazy, kontenery i woluminy\n", "- ```docker system prune``` - usuwa nieużywane obrazy i kontenery, zazwyczaj zwalniając sporo miejsca na dysku" ] }, @@ -149,7 +149,9 @@ " - Poprzez terminal\n", " - Poprzez `docker exec` - wywołanie polecenia w działającym kontenerze\n", " - Poprzez port zmapowany przez flagę `-p` (np. REST API albo interfejs w przegląrce)\n", - " - Przez system plików: podmontowanie katalogów hosta w kontenerze poprzez flagę `-v` [dokumentacja](https://docs.docker.com/engine/reference/commandline/run/#mount-volume--v---read-only)" + " - Przez system plików: \n", + " - bind mount: podmontowanie katalogów hosta w kontenerze poprzez flagę `-v` [dokumentacja](https://docs.docker.com/engine/reference/commandline/run/#mount-volume--v---read-only)\n", + " - volumes: https://docs.docker.com/storage/volumes/" ] }, { @@ -425,8 +427,8 @@ }, "source": [ "### 2.1 Jenkins - Terminologia (https://www.jenkins.io/doc/book/glossary/):\n", - " - **Agent**: An agent is typically a machine, or container, which connects to a Jenkins controller and executes tasks when directed by the controller\n", " - **Controller**: The central, coordinating process which stores configuration, loads plugins, and renders the various user interfaces for Jenkins\n", + " - **Agent**: An agent is typically a machine, or container, which connects to a Jenkins controller and executes tasks when directed by the controller\n", " - **Master**: A deprecated term, synonymous with Controller.\n", " - **Node**: A machine which is part of the Jenkins environment and capable of executing Pipelines or Projects. Both the Controller and Agents are considered to be Nodes.\n", " - **Executor**: A slot for execution of work defined by a Pipeline or Project on a Node. A Node may have zero or more Executors configured which corresponds to how many concurrent Projects or Pipelines are able to execute on that Node." @@ -476,7 +478,9 @@ " ## 2.2 Docker w Jenkins\n", " \n", "\n", - " \n", + " - Jenkins posiada wygodną intergrację z Dockerem \n", + " - Umożliwia ona uruchamianie kroków (steps) wewnątrz kontera\n", + " - Obrazy mogą być automatycznie pobrane albo zbudowane na podstawie Dockerfile\n", " - Więcej informacji: https://www.jenkins.io/doc/book/pipeline/docker/" ] }, @@ -571,10 +575,7 @@ " Skorzystaj z mechanizmu tworzącego kontener bezpośrednio na Jenkinsie wprost z pliku Dockerfile.\n", "\n", "2. Zmodyfikuj stworzony na poprzednich (3.) zajęciach Jenkinsfile opisujący pipeline \"s123456-dataset-stats\" tak, żeby wywoływać w nim skrypty stworzone na zajęciach 2., w środku kontenera stworzonego w zadaniu 2.
\n", - " Skorzystaj z mechanizmu wykorzystującego gotowy obraz (lokalny, albo ściągany z Docker Hub)\n", - "\n", - "### Termin\n", - "Termin na oddanie obu zadań (zadanie 2. i zadanie 3.): 11 IV" + " Skorzystaj z mechanizmu wykorzystującego gotowy obraz (lokalny, albo ściągany z Docker Hub)" ] } ],