Kontenery, obrazy i rejestry platformy Docker

Napiwek

Ta zawartość jest fragmentem książki eBook, architektury mikrousług platformy .NET dla konteneryzowanych aplikacji platformy .NET dostępnych na platformie .NET Docs lub jako bezpłatnego pliku PDF, który można odczytać w trybie offline.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

W przypadku korzystania z platformy Docker deweloper tworzy aplikację lub usługę i pakuje ją i jej zależności do obrazu kontenera. Obraz jest statyczną reprezentacją aplikacji lub usługi oraz jej konfiguracji i zależności.

Aby uruchomić aplikację lub usługę, obraz aplikacji zostanie utworzony w celu utworzenia kontenera, który będzie uruchomiony na hoście platformy Docker. Kontenery są początkowo testowane w środowisku projektowym lub komputerze.

Deweloperzy powinni przechowywać obrazy w rejestrze, który działa jako biblioteka obrazów i jest potrzebny podczas wdrażania w koordynatorach produkcyjnych. Platforma Docker obsługuje rejestr publiczny za pośrednictwem usługi Docker Hub. Inni dostawcy udostępniają rejestry dla różnych kolekcji obrazów, w tym usługi Azure Container Registry. Alternatywnie przedsiębiorstwa mogą mieć lokalny rejestr prywatny dla własnych obrazów platformy Docker.

Rysunek 2–4 pokazuje, jak obrazy i rejestry na platformie Docker odnoszą się do innych składników. Pokazuje również wiele ofert rejestru od dostawców.

A diagram showing the basic taxonomy in Docker.

Rysunek 2–4. Taksonomia terminów i pojęć platformy Docker

Rejestr przypomina półkę, w której są przechowywane obrazy i dostępne do ściągnięcia w celu tworzenia kontenerów w celu uruchamiania usług lub aplikacji internetowych. Istnieją prywatne rejestry platformy Docker lokalnie i w chmurze publicznej. Docker Hub to publiczny rejestr obsługiwany przez platformę Docker, wraz z usługą Docker Trusted Registry rozwiązaniem klasy korporacyjnej, platforma Azure oferuje usługę Azure Container Registry. Usługi AWS, Google i inne mają również rejestry kontenerów.

Umieszczenie obrazów w rejestrze umożliwia przechowywanie statycznych i niezmiennych bitów aplikacji, w tym wszystkich ich zależności na poziomie platformy. Te obrazy można następnie wersjonować i wdrażać w wielu środowiskach, a tym samym zapewnić spójną jednostkę wdrażania.

Rejestry obrazów prywatnych, hostowane lokalnie lub w chmurze, są zalecane w następujących przypadkach:

  • Obrazy nie mogą być udostępniane publicznie ze względu na poufność.

  • Chcesz mieć minimalne opóźnienie sieci między obrazami a wybranym środowiskiem wdrażania. Jeśli na przykład środowisko produkcyjne jest chmurą platformy Azure, prawdopodobnie chcesz przechowywać obrazy w usłudze Azure Container Registry , aby opóźnienie sieci było minimalne. W podobny sposób, jeśli środowisko produkcyjne jest lokalne, może być konieczne posiadanie lokalnego zaufanego rejestru platformy Docker dostępnego w tej samej sieci lokalnej.