Docker
2 minuty czytania
Tomasz Kozon
15 mar 2022
Docker to platforma, która pozwala na konteneryzację aplikacji. Konteneryzacja to proces polegający na izolowaniu aplikacji od środowiska, w którym jest uruchamiana, dzięki czemu aplikacja może być uruchamiana na różnych systemach operacyjnych bez potrzeby modyfikowania kodu.
Docker to rozwiązanie typu PaaS. Wszedł przebojem na rynek w 2013 roku i stał się najpopularniejszym rozwiązaniem obecnie do konteneryzacji aplikacji. Umożliwia zamrożenie stanu aplikacji za pomocą serii komend i odtworzenie jej na dowolnym innym sprzęcie, który posiada zainstalowanego Dockera.
Docker posiada prosty język deklaratywny
Większość osób wykorzystuje Dockera do odtwarzania wersji swojego oprogramowania w tym samym stanie na dowolnym innym komputerze. Obrazy dockerowe tworzy się za pomocą plików Dockerfile. Pliki te wykorzystują takie instrukcje jak:
- FROM
- RUN
- CMD
- ENTRYPOINT
- VOLUME
- WORKDIR
- COPY
- EXPOSE
FROM python:3.9
ENV PYTHONUNBUFFERED 1
RUN apt-get update
# Pozwala dockerowi na zapamiętywanie zależności w naszej aplikacji
COPY ./requirements.txt requirements.txt
COPY ./requirements requirements
RUN pip install -r requirements.txt
# Dodaj naszą aplikację do kontenera
COPY . code
WORKDIR code
RUN python manage.py collectstatic --noinput
CMD ["sh", "-c", "gunicorn app.wsgi -b :8000 --log-file -"]
To tylko niektóre z nich i najbardziej popularne. Dzięki nim możemy pobrać inny kontener stworzony przez innego użytkownika wykorzystując FROM, skopiować dane za pomocą COPY z lokalnego źródła plików czyli własnego komputera, wykonać serię komend za pomocą RUN. Każda z komend stworzy inkrementacyjnie kolejne warstwy kontenera dockerowego. Najciekawsze jest to, że przy ponownym budowaniu kontenera i zmianie komendy RUN, cała poprzednia seria komend jest odpowiednio zapamiętana. Dzięki temu po drobnych zmianach kontenery potrafią się budować naprawdę szybko. Na samym końcu możemy ustalić CMD który będzie uruchamiany podczas startu kontenera i tym może być np. skrypt uruchamiający serwer webowy.
Wiersz poleceń Docker pozwala na zaawansowane operacje na kontenerach
Za pomocą interfejsu Docker możemy wykonać operacje takie jak budowanie kontenera, czy też uruchomienie go. Możemy zalogować się do innych dostarczycieli usług Docker i wypchnąć do nich zbudowany kontener. Możemy wersjonować nasze kontenery tak by w krytycznym momencie móc powrócić do jego starszej wersji.
docker login
docker build -t [username/]<image-name>[:tag] <dockerfile-path>
docker push [registry/][username/]<image-name>[:tag]
Całość tego rozwiązania pozwala na nowoczesne budowanie oprogramowania i szybką wymianę najlepszych wzorców. Większość dostarczycieli usług open-source posiada gotowe zoptymalizowane wersje swojego oprogramowania w postaci plików Dockerfile, dzięki temu możemy szybko sprawdzić je w sposób wyizolowany i niezależny od naszego oprogramowania. Trzeba pamiętać że kontenery dockerowe są od siebie niezależne i posiadają niezależny od siebie system plików. Jeżeli na to nie pozwolimy to nie dzielą ze sobą żadnych plików. Unikamy dzięki temu konfliktów wersji i możemy się skupić na tworzeniu oprogramowania wysokiej jakości.
Powiązane artykuły
Z jakich usług AWS warto skorzystać przy tworzeniu stron internetowych?
8 mar 2022
Amazon Web Services (AWS) to chyba jedna z najważniejszych platform chmury obliczeniowej dostępnych na rynku. Oferuje ona szeroki zakres usług, które pomagają w tworzeniu, rozwijaniu i utrzymaniu stron internetowych.
Tomasz Kozon
#devops

Jak wykorzystać pliki cookies do poprawy jakości działania strony internetowej?
16 mar 2023
W erze cyfrowej, gdzie użytkownicy oczekują szybkich, spersonalizowanych i bezproblemowych doświadczeń online, coraz więcej właścicieli stron internetowych poszukuje skutecznych sposobów na poprawę jakości swoich witryn. Jednym z narzędzi, które może przyczynić się do osiągnięcia tego celu, są pliki cookie.
Tomasz Kozon
Reklamowanie się w Gmailu za pomocą Gmail Sponsored Promotion.
15 mar 2023
Reklama w internecie to obecnie niezbędny element strategii marketingowych dla firm każdej wielkości i branży. Jednym z kanałów reklamowych, które zdobywają coraz większą popularność, jest Gmail Sponsored Promotion. To narzędzie pozwala na wyświetlanie reklam w skrzynce odbiorczej użytkowników Gmaila w sposób nieinwazyjny i dopasowany do profilu odbiorcy.
Tomasz Kozon
Jakie są różnice między atrybutami nofollow i dofollow?
14 mar 2023
W świecie SEO atrybuty nofollow i dofollow są pojęciami, z którymi każdy właściciel strony internetowej powinien się zapoznać. Oba atrybuty stanowią ważny element optymalizacji strony internetowej, wpływając na jej pozycję w wynikach wyszukiwania. Atrybut nofollow i dofollow oznaczają dwa różne podejścia do linkowania, a ich właściwe stosowanie może przynieść korzyści dla witryny internetowej w postaci zwiększenia ruchu i poprawy reputacji w oczach algorytmów wyszukiwarek.
Tomasz Kozon
Definition of Done w metodologii Agile - jak wykorzystać ten koncept w praktyce
14 mar 2023
W dzisiejszym dynamicznym świecie zarządzania projektami IT, metodologia Agile zyskuje coraz większą popularność jako elastyczne i efektywne podejście do wytwarzania oprogramowania. Wśród kluczowych konceptów Agile, Definition of Done (DoD) pełni istotną rolę w utrzymaniu wysokiej jakości produktów oraz sprawnym monitorowaniu postępów projektu.
Tomasz Kozon
Geotargetowanie w strategii marketingowej: Jak może przyczynić się do wzrostu sprzedaży i świadomości marki
14 mar 2023
W erze cyfryzacji i rosnącej konkurencji na rynku, przedsiębiorstwa poszukują coraz bardziej efektywnych i innowacyjnych strategii marketingowych. Geotargetowanie, czyli wykorzystanie danych geolokalizacyjnych w celu dostarczania spersonalizowanych treści i reklam, stało się jednym z kluczowych narzędzi w budowaniu skutecznych kampanii.
Tomasz Kozon
Co to jest robots.txt i do czego służy?
14 mar 2023
Robots.txt to plik, który jest często pomijany przez właścicieli stron internetowych, a jednocześnie może mieć kluczowe znaczenie dla ich widoczności w wyszukiwarkach. Plik ten określa zasady, według których roboty wyszukiwarek powinny indeksować naszą witrynę. Właściwe wykorzystanie pliku pozwala kontrolować indeksowanie poszczególnych sekcji naszej witryny, co zwiększa jej bezpieczeństwo oraz skupia uwagę robotów na najważniejszych elementach.
Tomasz Kozon
Zobacz wszystkie artykuły