📌 Środowisko lokalne do pracy z Pythonem w Dockerze
🏁 1. Wprowadzenie
Na tych zajęciach skonfigurujemy środowisko do pracy z Pythonem w kontenerze Docker. Dzięki temu każdy będzie miał spójne, odizolowane środowisko, w którym można instalować pakiety, uruchamiać skrypty i pracować z Pythonem interaktywnie z poziomu IDE.
🛠 2. Instalacja Dockera
Docker pozwala na uruchamianie kontenerów, które działają jako lekkie, odizolowane środowiska.
📥 2.1. Instalacja na Windows/macOS/Linux
- Pobierz i zainstaluj Docker Desktop: Pobierz Docker
- Sprawdź instalację:
docker --version - Upewnij się, że Docker jest uruchomiony.
🔧 3. Tworzenie środowiska w Dockerze
📂 3.1. Tworzenie folderu projektu
Wybierz katalog, w którym chcesz pracować:
mkdir geoapps && cd geoapps
📜 3.2. Tworzenie pliku Dockerfile
Stwórz plik Dockerfile i dodaj następującą zawartość:
FROM condaforge/mambaforge:latest
WORKDIR /app
CMD ["/bin/bash", "-l"]
⚙️ 3.3. Tworzenie pliku konfiguracyjnego VS Code
Aby ułatwić integrację Dockera z VS Code, utwórz folder .devcontainer w katalogu projektu i w nim plik devcontainer.json:
{
"name": "Python Dev Container",
"build": {
"dockerfile": "../Dockerfile"
},
"workspaceFolder": "/app",
"mounts": [
"source=${localWorkspaceFolder},target=/app,type=bind,consistency=cached"
],
"customizations": {
"vscode": {
"settings": {
"terminal.integrated.defaultProfile.linux": "bash"
},
"extensions": [
"ms-python.python",
"ms-vscode-remote.remote-containers",
"ms-vscode-remote.dev-containers"
]
}
}
}
🚀 3.4. Budowanie obrazu Dockera
docker build -t python-env .
🔄 3.5. Uruchamianie kontenera
Uruchom kontener w trybie interaktywnym i podłącz lokalny katalog:
docker run -it -v .:/app python-env /bin/bash -l
geoapps będą widoczne w kontenerze.
🖥️ 4. Konfiguracja IDE (VS Code) z Dockerem i Mambaforge
Aby połączyć się z kontenerem w VS Code:
- Zainstaluj rozszerzenie ➝
Remote - ContainerslubDev Container. - Otwórz katalog projektu w VS Code.
- Kliknij
Ctrl+Shift+Pi wybierzRemote-Containers: Reopen in Container. - VS Code uruchomi kontener i otworzy projekt w odizolowanym środowisku.
- Otwórz terminal w VS Code (
Ctrl+~) i sprawdź aktywne środowisko Conda:Powinieneś zobaczyć, że aktywowane jest środowiskoconda info --envsbase.
📦 5. Instalacja pakietów wewnątrz kontenera
Gdy kontener jest uruchomiony, można instalować pakiety za pomocą mamby:
micromamba install -y -n base -c conda-forge matplotlib geopandas
pip install requests
🏃♂️ 6. Uruchamianie skryptów
Utwórz plik main.py:
import this
Uruchom go w kontenerze:
python main.py
Zadanie: Zrób zrzut ekranu (screenshot) pokazujący wynik działania tego skryptu w terminalu kontenera i wyślij go na czat. 📸
Jak działa Docker?
Docker to platforma do uruchamiania aplikacji w kontenerach, czyli lekkich, odizolowanych środowiskach, które zawierają wszystko, co jest potrzebne do działania aplikacji (kod, zależności, konfigurację). Dzięki temu aplikacje działają identycznie niezależnie od systemu operacyjnego.
-
Każdy kontener działa jak mini-wirtualna maszyna, ale jest lżejszy i bardziej wydajny.
-
Docker używa obrazów – predefiniowanych pakietów, które można wielokrotnie uruchamiać jako kontenery.
-
Izolacja pozwala uniknąć konfliktów zależności i różnic między środowiskami.
Po co nam Docker?
Docker jest przydatny, ponieważ:
-
Eliminuje problem „u mnie działa” – środowisko w kontenerze jest identyczne na każdym komputerze.
-
Łatwo można współdzielić środowiska – wystarczy przekazać pliki Dockerfile i devcontainer.json.
-
Szybkie wdrażanie – nowe środowisko można uruchomić w kilka sekund.
-
Ułatwia pracę zespołową – każdy programista ma tę samą konfigurację.
-
Można uruchamiać aplikacje w chmurze i na serwerach bez zmian w kodzie.
Docker to idealne narzędzie dla programistów, którzy chcą pracować w powtarzalnym i stabilnym środowisku! 🚀