Docker dla 5-latka, czyli instrukcja obsługi dla opornych
Kiedy zaczynałem przygodę z Dockerem, ciężko mi było za wszystkim nadążyć i nie było łatwo. Ale nic się nie martwcie. Znalazłem się właśnie w tym miejscu.
Docker jest NIESAMOWITYM narzędziem, którego nie można tak po prostu pominąć. On jest WSZĘDZIE!
Tutaj znajdziesz wszystko, co musisz wiedzieć o Dockerze, w JEDNYM artykule. Nie martw się — będę się streszczać.
Przeprowadzę Cię przez wszystkie zagadnienia — kontenery, obrazy itp., a potem napiszemy własny Dockerfile, aby skonteneryzować bardzo prostą aplikację w Pythonie!
Co to jest Docker?
Docker to sposób na konteneryzację aplikacji (umieszczanie kodu w boksach, które mogą działać samodzielnie). W magiczny sposób tworzy on komputer wirtualny, ale coś Ci powiem — tak naprawdę nie są to komputery wirtualne.
Kontenery to boksy, które nie mają systemu operacyjnego hosta, więc są niezależne od urządzenia, na którym działają.
Pomyśl o tym w ten sposób — jest pszczoła, która lubi żyć tylko we własnym plastrze i nie będzie w stanie pracować, jeśli zamieszka gdzie indziej. Wystarczy uwięzić pszczołę w boksie wyglądającym i przypominającym plaster miodu. To właśnie jest konteneryzacja.
Kontenery są wykonane przy użyciu Images
Obrazy Dockera
Obrazy Dockera są jak szablony — podręcznik rzemiosła, który zawiera wszystko, co jest potrzebne do jego wykonania. Innymi słowy, zawiera zestaw instrukcji dotyczących tworzenia kontenera.
Ale w jaki sposób tworzy się te obrazy (aby później stworzyć kontenery)? Odbywa się to za pomocą plików Dockerfiles.
Wszystko o plikach Dockerfiles
Plik Dockerfile to dokument tekstowy zawierający wszystkie polecenia, które użytkownik może wywołać z wiersza poleceń, aby zbudować obraz. No dobra, stwórzmy razem plik Dockerfile.
Rozpocznijmy pracę z Dockerem OD RAZU! Szybko pobierz program Docker na swoim urządzeniu. Jeśli już to zrobiłeś, napiszemy prostą aplikację we Flasku i skonteneryzujmy ją!
Oto bardzo prosta i podstawowa aplikacja we flasku:
Mimo że jest to bardzo podstawowe rozwiązanie, do działania potrzebuje wielu rzeczy:
- Python 3.9
- Flask (
pip install flask
) - port 5000,
Niektóre programy mogą działać tylko na określonych systemach operacyjnych — np. tylko w systemie Windows lub tylko w Linuksie. Wszystkie te problemy można rozwiązać, pisząc prosty plik dockerfile
, który utworzy dla nas obraz Dockera.
Należy więc utworzyć plik o nazwie Dockerfile
(dokładnie tak, bez żadnego rozszerzenia).Tutaj instrukcja:
- użyj FROM, aby użyć obrazu bazowego Pythona,
- użyj COPY, aby skopiować plik app.py do kontenera,
- użyj RUN do pip install flask,
- użyj CMD, aby uruchomić “python app.py” przy uruchomieniu kontenera.
Takie to proste!!!
drobna korekta: plik powinien nazywać się Dockerfile
Budowanie obrazu i uruchamianie kontenera
Teraz zbuduj obraz Dockera za pomocą polecenia docker build
, a następnie uruchom obraz za pomocą polecenia docker run
. Można również użyć --tag
, aby nadać obrazowi nazwę i ułatwić sobie późniejsze uruchamianie.
docker build --tag flask .
docker run --name flask -p 5000:5000 flask
Tutaj --name
to nazwa kontenera, który ma zostać uruchomiony (ja nazywam go flask), -p
ustawia port KONTENERA dockera na Twoim urządzeniu, tak abyś mógł zobaczyć swoją aplikację na localhost
. Na koniec flask
w nazwie to nazwa obrazu, który ma zostać uruchomiony.
Więcej poleceń
I to by było na tyle!!!
Użyj poleceń:
- “docker ps”, aby uzyskać listę uruchomionych kontenerów,
- “docker ps -a”, aby uzyskać listę WSZYSTKICH kontenerów,
- “docker images”, aby uzyskać listę obrazów,
- “docker --help”, aby uzyskać listę wszystkich poleceń.
Korzystaj śmiało z tych poleceń, są one łatwe do ogarnięcia. Z oficjalną dokumentacją zapoznasz się tutaj.
Oryginał tekstu w języku angielskim możesz przeczytać tutaj.