0Pricing
DevOps Bootcamp · Lekcja

Budowanie obrazów Docker za pomocą Actions

Zautomatyzują Państwo proces budowania obrazów Docker dla aplikacji bezpośrednio w workflows GitHub Actions.

Budowanie obrazów Docker za pomocą Actions to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Czym są obrazy Docker?

Witamy! W tej lekcji nauczą się Państwo budować obrazy Docker za pomocą GitHub Actions.

Najpierw: czym jest obraz Docker? Można myśleć o nim jak o lekkim, samodzielnym, uruchamialnym pakiecie zawierającym wszystko, co jest potrzebne do uruchomienia fragmentu oprogramowania:

  • Państwa kod
  • Środowisko uruchomieniowe (np. Java, Python)
  • Narzędzia systemowe i biblioteki
  • Pliki konfiguracyjne

To rodzaj planu tworzenia Dockerowych kontenerów, który zapewnia spójne działanie aplikacji w różnych środowiskach.

Dlaczego automatyzować budowanie obrazów Docker?

Ręczne budowanie obrazów Docker może być powtarzalne i podatne na błędy. Właśnie tutaj przydaje się automatyzacja!

Dzięki zintegrowaniu budowania obrazów Docker z pipeline'em CI/CD za pomocą GitHub Actions zyskują Państwo:

  • Spójność: Każde budowanie przebiega według tych samych kroków.
  • Szybkość: Automatyczne budowanie jest szybsze niż ręczne.
  • Niezawodność: Ograniczenie liczby błędów ludzkich.
  • Integrację: Budowanie jest automatycznie uruchamiane po zmianach w kodzie.

To jedna z podstawowych praktyk współczesnego DevOps!

Dockerfile jako plan

Dockerfile to plik tekstowy zawierający wszystkie polecenia potrzebne do złożenia obrazu Docker. Można porównać go do przepisu.

Oto bardzo prosty przykład pliku Dockerfile:

FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello from Docker!"]

Zrozumienie pliku Dockerfile

Przeanalizujmy prosty plik Dockerfile:

  • FROM alpine:latest: Określa obraz bazowy. Zaczynamy od małej dystrybucji Linuksa o nazwie Alpine.
  • WORKDIR /app: Ustawia katalog roboczy wewnątrz obrazu.
  • COPY . .: Kopiuje wszystkie pliki z katalogu projektu do katalogu /app wewnątrz obrazu.
  • CMD ["echo", "Hello from Docker!"]: To polecenie zostanie uruchomione, gdy na podstawie tego obrazu zostanie uruchomiony kontener.

Ten plik znajduje się w katalogu głównym projektu.

Konfiguracja workflow

Aby budować obrazy Docker za pomocą GitHub Actions, należy utworzyć w repozytorium plik YAML (np. .github/workflows/docker-build.yml).

Plik ten definiuje workflow, czyli serię automatycznych kroków.

Podstawowy workflow budowania obrazu zwykle obejmuje:

  1. Pobranie kodu.
  2. Skonfigurowanie środowiska budowania obrazów Docker.
  3. Zbudowanie obrazu Docker.

Krok 1: Pobranie kodu

Pierwszym krokiem niemal każdego workflow GitHub Actions jest pobranie kodu repozytorium. Służy do tego akcja actions/checkout.

Klonuje ona repozytorium do runnera, udostępniając plik Dockerfile i kod aplikacji na potrzeby procesu budowania.

W pliku workflow wygląda to następująco:

      - name: Checkout repository code
        uses: actions/checkout@v4

Krok 2: Konfiguracja Docker Buildx

Następnie należy skonfigurować środowisko budowania obrazów Docker. Zdecydowanie zalecana jest akcja docker/setup-buildx-action.

Buildx to komponent Docker rozszerzający możliwości budowania obrazów Docker i obsługujący zaawansowane funkcje, takie jak budowanie dla wielu platform.

Należy dodać ten krok do workflow:

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

Krok 3: Budowanie obrazu Docker

Teraz najważniejsza część: budowanie obrazu! Służy do tego akcja docker/build-push-action.

Najważniejsze opcje:

  • context: .: Określa kontekst budowania (zwykle jest nim katalog główny repozytorium).
  • push: false: Na razie obraz zostanie tylko zbudowany, bez wysyłania do rejestru. Wysyłanie omówimy w późniejszej lekcji.
  • tags: my-app:latest: Przypisuje obrazowi nazwę i tag.
      - name: Build and tag Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          push: false
          tags: my-app:latest

Pełny przykład workflow budowania

Oto kompletny workflow GitHub Actions do budowania obrazu Docker. Należy pamiętać, że ten kod YAML należy umieścić w pliku .github/workflows/docker-build.yml.

Ten workflow zostanie uruchomiony przy każdym push do repozytorium.

name: Build Simple Docker Image

on: [push]

jobs:
  build-image:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository code
        uses: actions/checkout@v4

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Build and tag Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          push: false
          tags: my-app:latest

Szybki test

Sprawdźmy, jak dobrze rozumieją Państwo budowanie obrazów Docker za pomocą GitHub Actions.

Podsumowanie: budowanie obrazów Docker

Świetnie! Poznali już Państwo podstawy automatyzowania budowania obrazów Docker za pomocą GitHub Actions.

Omówiliśmy:

  • Czym są obrazy Docker i dlaczego mają kluczowe znaczenie.
  • Rolę pliku Dockerfile jako planu obrazu.
  • Konfigurację podstawowego workflow GitHub Actions.
  • Użycie najważniejszych akcji, takich jak actions/checkout, docker/setup-buildx-action i docker/build-push-action.

W następnej lekcji dowiedzą się Państwo, jak wysyłać zbudowane obrazy do rejestru kontenerów!

Często zadawane pytania

Czy lekcja „Budowanie obrazów Docker za pomocą Actions” jest bezpłatna?

Tak — pełny tekst „Budowanie obrazów Docker za pomocą Actions” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Budowanie obrazów Docker za pomocą Actions”?

Zautomatyzują Państwo proces budowania obrazów Docker dla aplikacji bezpośrednio w workflows GitHub Actions. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Budowanie obrazów Docker za pomocą Actions”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Budowanie obrazów Docker za pomocą Actions
  2. Wysyłanie obrazów do rejestrów
  3. Wdrażanie do Kubernetes za pomocą Actions
  4. Wykresy Helm i manifesty Kubernetes w CI/CD
← Powrót do DevOps Bootcamp