diff --git a/IUM_04.Konteneryzacja.ipynb b/IUM_04.Konteneryzacja.ipynb
index bde53a7..0d02559 100644
--- a/IUM_04.Konteneryzacja.ipynb
+++ b/IUM_04.Konteneryzacja.ipynb
@@ -8,14 +8,8 @@
}
},
"source": [
- "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
- "
\n",
"
Inżynieria uczenia maszynowego
\n",
- " 4. Konteneryzacja [laboratoria]
\n",
- " Tomasz Ziętkiewicz (2022)
\n",
- "\n",
- "\n",
- "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ " 4. Konteneryzacja [laboratoria]
"
]
},
{
@@ -43,15 +37,11 @@
"## 1. Konteneryzacja\n",
"- Konteneryzacja to metoda tworzenia lekkich, odizolowanych środowisk uruchomieniowych\n",
"- Różnica między konteneryzacją a maszynami wirtualnymi:\n",
- " - Wirtualizacja na poziomie systemu operacyjnego a nie sprzętu\n",
- " - Konteneryzacja jest lżejsza: kontener używa tego samego jądra (kernel) co system hosta - mniejszy narzut\n",
+ " - Wirtualizacja na poziomie systemu operacyjnego, a nie sprzętu\n",
+ " - Konteneryzacja jest lżejsza: kontener używa tego samego jądra (*kernel*) co system hosta - mniejszy narzut\n",
" - Konteneryzacja zapewnia gorszy stopień izolacji od hosta\n",
" - Dzięki dostępnym narzędziom i infrastrukturze kontenery są łatwiejsze w utrzymywaniu i bardziej przenośne\n",
- "- Ułatwiają:\n",
- " - rozwój,\n",
- " - uruchamianie\n",
- " - i dostarczanie\n",
- "aplikacji."
+ "- Kontenery ułatwiają rozwój, uruchamianie i dostarczanie aplikacji."
]
},
{
@@ -80,10 +70,9 @@
"source": [
"## 1.1 Docker\n",
"- Najpopularniejszy obecnie system konteneryzacji\n",
- "- Działa w m.in. na systemach Linux, Windows i Max OS\n",
+ "- Działa w m.in. na systemach Linux, Windows i Mac OS\n",
"- Udostępnia narzędzia i serwisy ułatwiające korzystanie, zarządzanie i dzielenie się kontenerami\n",
"- Docker umożliwia stworzenie paczki zawierającej sam program jak i środowisko, w którym ma być on uruchomiony\n",
- " \n",
"- Dokumentacja: https://docs.docker.com/get-started/\n",
""
]
@@ -113,10 +102,10 @@
},
"source": [
"## 1.2 Jak zacząć?\n",
- " - Na komputerach w laboratoriach: https://laboratoria.wmi.amu.edu.pl/en/issues/docker/\n",
+ " - Na komputerach w laboratoriach: https://laboratoria.wmi.amu.edu.pl/problemy/docker\n",
" - Lokalnie: [instalacja](https://docs.docker.com/engine/install/)\n",
" - Możliwa zarówno pod Linux, Windows i MacOS.\n",
- " - Kontenery Linuxowe można uruchamiać również pod Windowsem (za pomocą Docker Desktop lub WSL 2 (Windows Subsystem for Linux). Pod spodem oba używają maszyny wirtualnej (Hyper-V) z Linuxem, w której uruchamiane są kontenery [link](https://www.docker.com/blog/docker-hearts-wsl-2/)"
+ " - Kontenery linuxowe można uruchamiać również pod Windowsem - za pomocą Docker Desktop lub WSL 2 (Windows Subsystem for Linux). Pod spodem oba używają maszyny wirtualnej (Hyper-V) z Linuxem, w której uruchamiane są kontenery ([tak to działa w teorii](https://www.docker.com/blog/docker-hearts-wsl-2), a [tak to można uruchomić](https://dev.to/bowmanjd/install-docker-on-windows-wsl-without-docker-desktop-34m9))"
]
},
{
@@ -131,7 +120,7 @@
"- ```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",
- " Uruchamia kontener z obrazu \"ubuntu\", allokuje terminal (`-t`) i ustawia tryb \"interaktywny\" (`-i`), dzięki czemu dostajemy terminal \"wenątrz\" kontenera i możemy wywoływać w nim polecenia\n",
+ " Uruchamia kontener z obrazu \"ubuntu\", alokuje terminal (`-t`) i ustawia tryb \"interaktywny\" (`-i`), dzięki czemu dostajemy terminal \"wenątrz\" kontenera i możemy wywoływać w nim polecenia\n",
"\n",
" - ```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",
@@ -165,7 +154,7 @@
"- ```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\n",
- "- ```docker exec``` - "
+ "- ```docker exec``` - uruchamia polecenie wewnątrz działającego kontenera"
]
},
{
@@ -181,7 +170,7 @@
" - 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: \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",
+ " - bind mount: podmontowanie katalogów hosta w kontenerze poprzez flagę `-v`; dokumentacja [tu](https://docs.docker.com/reference/cli/docker/container/run/#mount) i [tam](https://docs.docker.com/reference/cli/docker/container/run/#read-only)\n",
" - volumes: https://docs.docker.com/storage/volumes/"
]
},
@@ -194,7 +183,7 @@
},
"source": [
"# Zadanie 1 [na zajęciach]\n",
- "1. Zainstaluj Docker (lub skorzystaj z https://laboratoria.wmi.amu.edu.pl/en/issues/docker/)\n",
+ "1. Zainstaluj Docker (lub skorzystaj z https://laboratoria.wmi.amu.edu.pl/problemy/docker)\n",
"2. Uruchom obraz `ubuntu` w trybie interaktywnym z terminalem (`docker run -ti ubuntu`)\n",
"\n",
"Poniższe punkty wywołujemy wewnątrz kontenera (w otwartym właśnie terminalu):\n",
@@ -204,7 +193,7 @@
"5. Jaki jest bieżący katalog? (polecenie `pwd`)\n",
"5. Jaki procesor jest widoczny w środku kontenera? Czy jest to procesor Twojej maszyny? (`lscpu`)\n",
"6. Ile wolnego miejsca na dysku jest widoczne wewnątrz kontenera (`df -h`)? Czy jest to zgodne z tym, co pokazuje maszyna hosta?\n",
- "7. Sprawdź ile dostępnej pamięci RAM widać w konenerze (`free -h`). Czy zgadza się to z wynikiem na maszynie hosta?\n",
+ "7. Sprawdź, ile dostępnej pamięci RAM widać w konenerze (`free -h`). Czy zgadza się to z wynikiem na maszynie hosta?\n",
"8. Spróbuj uruchomić jedno z popularnych narzędzi Linuksowych, dostępnych na maszynie hosta (np. `vim`, `less`, `htop`). Czy udało się je uruchomić?\n",
"9. Zainstaluj w kontenerze jedno z brakujących narzędzi, np: `apt update; apt install htop`\n",
"10. Uruchom następujące polecenie:
\n",
@@ -233,11 +222,10 @@
"## 1.4 Dockerfile\n",
"\n",
" - Dokumentacja: https://docs.docker.com/engine/reference/builder/\n",
- "\n",
" - Dockerfile składa się z serii poleceń.\n",
- " - Polecenia dockera są pisane WIELKIMI LITERAMI\n",
- " - Wywołanie każdego polecenia tworzy nową warstwę (*layer*)\n",
- " - Jeśli zbudowaliśmy obraz a potem zmieniliśmy jedno z poleceń / dodaliśmy nowe, to przebudowane zostaną tylko warstwy od zmienionej w dół (osczędność czasu i zasobów)"
+ " - Polecenia dockera są pisane WIELKIMI LITERAMI.\n",
+ " - Wywołanie każdego polecenia tworzy nową warstwę (*layer*).\n",
+ " - Jeśli zbudowaliśmy obraz, a potem zmieniliśmy jedno z poleceń lub dodaliśmy nowe, to przebudowane zostaną tylko warstwy od zmienionej w dół (oszczędność czasu i zasobów)."
]
},
{
@@ -250,7 +238,7 @@
"source": [
"### Przykładowy Dockerfile:\n",
"```Dockerfile\n",
- "# Nasz obraz będzie dzidziczył z obrazu Ubuntu w wersji latest\n",
+ "# Nasz obraz będzie dziedziczył z obrazu Ubuntu w wersji latest\n",
"FROM ubuntu:latest\n",
"\n",
"# Instalujemy niezbędne zależności. Zwróć uwagę na flagę \"-y\" (assume yes)\n",