CodeGym /Kursy /Docker SELF /Tagi i wersje obrazów

Tagi i wersje obrazów

Docker SELF
Poziom 14 , Lekcja 2
Dostępny

8.1 Tagowanie w Dockerze

Tagowanie w Dockerze to proces przypisywania tagu do obrazu, który upraszcza zarządzanie wersjami. Dzięki temu wdrażanie i aktualizacja aplikacji są bardziej wygodne i kontrolowane. W tym wykładzie szczegółowo omówimy, czym są tagi, jak ich używać i jakie zalecenia pomogą Ci pracować z nimi efektywniej.

Tag (tag) w Dockerze — to etykieta, która pozwala identyfikować konkretną wersję obrazu. Tagi upraszczają śledzenie zmian i pomagają wybierać odpowiednie wersje dla różnych środowisk, takich jak development, testing i produkcja.

Podstawowe koncepcje tagów:

  1. Unikalność: tag jednoznacznie identyfikuje konkretną wersję obrazu.
  2. Wersjonowanie: za pomocą tagów oznaczane są wersje obrazów, na przykład, v1.0, v2.0, latest.
  3. Elastyczność: tagi wykorzystywane są do tworzenia obrazów odpowiadających pewnym etapom rozwoju, na przykład, beta, stable, prod.

8.2 Jak korzystać z tagów

1. Przypisanie tagów podczas budowy obrazu

Możesz przypisać tag do obrazu podczas jego budowy za pomocą parametru -t polecenia docker build.

Przykład:

W tym przykładzie obrazowi przypisuje się nazwę myapp i tag 1.0.

Terminal


docker build -t myapp:1.0 .

2. Przypisanie dodatkowych tagów do istniejącego obrazu

Możesz dodać tagi do już istniejącego obrazu za pomocą polecenia docker tag.

Przykład:

Ten przykład przypisuje obrazowi myapp:1.0 dodatkowy tag latest.

Terminal


docker tag myapp:1.0 myapp:latest

3. Korzystanie z tagów podczas uruchamiania kontenerów

Kiedy uruchamiasz kontener, możesz wskazać konkretny tag obrazu, którego chcesz użyć.

Przykład:

Ten przykład uruchamia kontener na podstawie obrazu myapp z tagiem 1.0.

Terminal


docker run -d myapp:1.0

8.3 Praktyka tagowania

Używanie semantycznego wersjonowania

Semantyczne wersjonowanie (Semantic Versioning) to standardowa praktyka przypisywania wersji, która pomaga zrozumieć poziom zmian w obrazie.

Format semantycznego wersjonowania:


<major>.<minor>.<patch>

Gdzie:

  • major: Główne zmiany, niezgodne z poprzednimi wersjami.
  • minor: Nowe funkcje, zgodne z poprzednimi wersjami.
  • patch: Poprawki błędów i inne drobne zmiany.

Przykład:

Terminal


docker build -t myapp:2.1.3 .

Używanie dodatkowych oznaczeń

Dodatkowe oznaczenia pomagają określić stan obrazu, na przykład beta, alpha, stable lub prod.

Przykład:

Terminal


docker build -t myapp:1.0-beta .
docker build -t myapp:1.0-stable .

Aktualizacja tagów

Podczas aktualizacji obrazu zaleca się zmieniać tagi, aby ułatwić śledzenie zmian. Tag latest jest często używany do oznaczenia najnowszej wersji obrazu.

Przykład:

Terminal


docker build -t myapp:2.0 .
docker tag myapp:2.0 myapp:latest

8.4 Przykłady zastosowania tagów

Przykłady użycia tagów w różnych środowiskach:

Przykład 1: Tworzenie aplikacji

Do tworzenia aplikacji często używane są obrazy z tagami, które wskazują na aktualną wersję lub status developmentu, na przykład dev.

Terminal


docker build -t myapp:dev .
docker run -d myapp:dev

Przykład 2: Testowanie

W środowiskach testowych korzysta się z obrazów z tagami określającymi konkretne wersje lub statusy, takie jak beta.

Terminal


docker build -t myapp:1.1-beta .
docker run -d myapp:1.1-beta

Przykład 3: Produkcja

W środowiskach produkcyjnych ważne jest używanie stabilnych i sprawdzonych wersji obrazów, oznaczonych tagami stable, prod, albo wersjami semantycznymi, takimi jak 1.1.0-stable.

Terminal


docker build -t myapp:1.1.0-stable .
docker run -d myapp:1.1.0-stable

8.5 Najlepsze praktyki

1. Zawsze używaj semantycznej wersji

Trzymaj się semantycznego wersjonowania dla wszystkich obrazów. To pomaga jasno odróżnić poziomy zmian i ułatwia zarządzanie wersjami.

2. Używaj zrozumiałych i sensownych tagów

Używaj tagów, które jasno odzwierciedlają stan lub cel obrazu (na przykład beta, stable, prod).

3. Unikaj używania latest w produkcji

Tag latest może być przydatny podczas tworzenia i testowania, ale w produkcji lepiej używać konkretnych wersji, aby uniknąć nieprzewidywalnych zmian.

4. Dokumentuj użycie tagów

Dokumentuj, jak i do czego są używane tagi w twoim projekcie. To pomoże zespołowi lepiej zrozumieć proces wersjonowania i zmniejszy prawdopodobieństwo błędów.

Przykłady Dockerfile z użyciem tagów

Przykład 1: Tworzenie i przypisywanie tagów

Dockerfile

# Dockerfile dla wersji 1.0.0 
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "app.js"]

Polecenia do budowania i tagowania

Terminal


docker build -t myapp:1.0.0 .
docker tag myapp:1.0.0 myapp:stable

Przykład 2: Aktualizacja obrazu i tagowanie

Dockerfile

# Dockerfile dla wersji 1.1.0 z nową funkcją
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN rm -rf /app/tests /app/docs
ENV NODE_ENV=production
EXPOSE 3000
CMD ["node", "app.js"]

Polecenia do budowania i tagowania

Terminal

        
docker build -t myapp:1.1.0 .
docker tag myapp:1.1.0 myapp:latest
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION