forked from tzietkiewicz/aitech-ium
Merge pull request 'Updated docker slides' (#25) from tzietkiewicz/aitech-ium:master into master
Reviewed-on: #25
This commit is contained in:
commit
267b1fff9a
@ -27,7 +27,7 @@
|
|||||||
},
|
},
|
||||||
"source": [
|
"source": [
|
||||||
"## Ciągła integracja \n",
|
"## 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",
|
" - 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",
|
" - Ż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",
|
" - Stąd narodziła się potrzeba stosowania systemów automatycznej ciągłej integracji\n",
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
"<div class=\"alert alert-block alert-info\">\n",
|
"<div class=\"alert alert-block alert-info\">\n",
|
||||||
"<h1> Inżynieria uczenia maszynowego </h1>\n",
|
"<h1> Inżynieria uczenia maszynowego </h1>\n",
|
||||||
"<h2> 4. <i>Konteneryzacja</i> [laboratoria]</h2> \n",
|
"<h2> 4. <i>Konteneryzacja</i> [laboratoria]</h2> \n",
|
||||||
"<h3> Tomasz Ziętkiewicz (2021)</h3>\n",
|
"<h3> Tomasz Ziętkiewicz (2022)</h3>\n",
|
||||||
"</div>\n",
|
"</div>\n",
|
||||||
"\n",
|
"\n",
|
||||||
"![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
|
"![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
|
||||||
@ -117,7 +117,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"source": [
|
"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 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``` - uruchamia istniejący obraz tworząc kontener. Przykładowe wywołania:\n",
|
||||||
" - ```docker run -i -t ubuntu```<br>\n",
|
" - ```docker run -i -t ubuntu```<br>\n",
|
||||||
@ -126,7 +126,6 @@
|
|||||||
" - ```docker run -p 8080:8080 jenkins/jenkins:lts```<br>\n",
|
" - ```docker run -p 8080:8080 jenkins/jenkins:lts```<br>\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",
|
" 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",
|
" 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:<br>\n",
|
"- ```docker build [OPTIONS] PATH | URL | -``` - buduje obraz na podstawie pliku Dockerfile i kontekstu (plików dostępnych podczas budowania). Przykład:<br>\n",
|
||||||
" - ```docker build -t tzietkiewicz/helloworld:1.0 .```<br>\n",
|
" - ```docker build -t tzietkiewicz/helloworld:1.0 .```<br>\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",
|
" 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 ps``` - listuje uruchomione/zatrzymane kontenery\n",
|
||||||
"- ```docker stop CONTAINER_ID``` - zatrzymuje kontener. Uruchomione w nim procesy zostają wyłączone (`SIGTERM` -> `SIGKILL`)\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 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"
|
"- ```docker system prune``` - usuwa nieużywane obrazy i kontenery, zazwyczaj zwalniając sporo miejsca na dysku"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -149,7 +149,9 @@
|
|||||||
" - Poprzez terminal\n",
|
" - Poprzez terminal\n",
|
||||||
" - Poprzez `docker exec` - wywołanie polecenia w działającym kontenerze\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",
|
" - 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": [
|
"source": [
|
||||||
"### 2.1 Jenkins - Terminologia (https://www.jenkins.io/doc/book/glossary/):\n",
|
"### 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",
|
" - **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",
|
" - **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",
|
" - **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."
|
" - **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",
|
" ## 2.2 Docker w Jenkins\n",
|
||||||
" <img style=\"height: 100px;\" src=\"IUM_04/docker-jenkins.png\"/></b>\n",
|
" <img style=\"height: 100px;\" src=\"IUM_04/docker-jenkins.png\"/></b>\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/"
|
" - 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",
|
" Skorzystaj z mechanizmu tworzącego kontener bezpośrednio na Jenkinsie wprost z pliku Dockerfile.\n",
|
||||||
"\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.<br>\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.<br>\n",
|
||||||
" Skorzystaj z mechanizmu wykorzystującego gotowy obraz (lokalny, albo ściągany z Docker Hub)\n",
|
" Skorzystaj z mechanizmu wykorzystującego gotowy obraz (lokalny, albo ściągany z Docker Hub)"
|
||||||
"\n",
|
|
||||||
"### Termin\n",
|
|
||||||
"Termin na oddanie obu zadań (zadanie 2. i zadanie 3.): 11 IV"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
Loading…
Reference in New Issue
Block a user