Because knowing "AI discovery matters" is not a strategy.Sitecore acquires Scrunch
Because knowing "AI discovery matters" is not a strategy.Sitecore acquires Scrunch
Pular para o conteúdo principal
Sitecore
Solicite uma demo

Busca

Solicite uma demo

Docker: uma visão geral rápida

Com o suporte a contêineres do Sitecore, os desenvolvedores podem resolver problemas de consistência, isolamento e reprodutibilidade. Aqui está uma visão geral rápida sobre como trabalhar com contêineres.

Por Rob Earlam

 colorful shipping containers and few trucks between them shot from above in the port of mexico

Nesta página

Introdução
Problemas comuns no desenvolvimento, implantação e hospedagem de software
Contentores para o resgate!
Contêineres versus máquinas virtuais
Imagem e camadas
Registos
Volumes
Ligação em rede
Leitura adicional
Capítulo 1

Introdução

No ano passado, a Sitecore anunciou um suporte limitado para o funcionamento dos nossos produtos dentro de contentores. Você pode ler mais sobre o modelo de suporte atual neste Artigo da Base de Dados de Conhecimento. Com cada versão futura, planeamos aumentar o nosso suporte para a execução dos nossos produtos em contentores. Para qualquer pessoa nova em executar aplicativos dessa forma, este post fornecerá uma visão geral de alguns dos conceitos-chave e fornecerá links para aprendizado adicional sobre cada um deles.

Assista ao vídeo que acompanha este artigo abaixo, que inclui demonstrações desses conceitos. Ou assista no Discover Sitecore no YouTube.

Capítulo 2

Problemas comuns no desenvolvimento, implantação e hospedagem de software

  • Você já teve o problema de configurar um novo projeto em sua máquina com todas as dependências necessárias?
  • Que tal então gerenciar essas dependências em todos os seus ambientes de não-produção e produção?
  • O que acontece quando você precisa atualizar uma ou mais dessas dependências?
  • Você já desenvolveu erroneamente contra uma versão de uma dependência apenas para descobrir que uma versão diferente está em produção?
  • Que tal ter uma equipe com desenvolvedores que querem executar diferentes sistemas operacionais (SO)?
  • O problema aqui é que você está implantando apenas o aplicativo por conta própria e confiando no ambiente host para fornecer as dependências. Na realidade, o host deve ser responsável pelo sistema operacional e não muito mais.

O que todos esses problemas têm em comum envolve questões de consistência, isolamento e reprodutibilidade. Estes são os problemas que o Docker, e os contêineres em geral, foram criados para resolver.

Capítulo 3

Contentores para o resgate!

Quando você implanta um contêiner, na verdade está implantando tudo o que é necessário para executar esse aplicativo, dentro de um único artefato.

Container Contents

Como você pode ver na imagem, você não está apenas empacotando seu aplicativo, mas também suas dependências e bibliotecas, seus ativos de configuração e qualquer outra coisa que ele precise executar. Tudo bem embrulhado em um único ativo que você pode mover entre seus diferentes ambientes.

Capítulo 4

Contêineres versus máquinas virtuais

Uma pergunta comum é como um contêiner difere de uma máquina virtual. Eles têm alguma sobreposição na funcionalidade que fornecem, mas como eles conseguem isso é fundamentalmente diferente.

VM vs VS Containers

Se você olhar para o diagrama de máquina virtual à esquerda, cada uma das caixas verdes representa um sistema operacional inteiro. Isso significa que há quatro sistemas operacionais completos presentes nessa infraestrutura de host e isso pode colocar uma carga pesada nos recursos do sistema e no espaço em disco necessário.

Compare isso com a abordagem baseada em contêiner à direita. Aqui, o kernel e os recursos do sistema operacional host são compartilhados diretamente pelos contêineres por meio do daemon do Docker. Isso significa que os contêineres são muito mais leves do que uma máquina virtual, o que significa que você pode executar muito mais deles na mesma quantidade de hardware.

Capítulo 5

Imagem e camadas

Agora, os contêineres vistos no exemplo anterior terão sido criados a partir de uma imagem. Uma imagem é um modelo somente leitura com instruções para criar um contêiner do Docker. As próprias imagens são construídas sobre o conceito de camadas, cada camada construída sobre a camada abaixo dela. Este conceito significa que torna muito simples personalizar imagens existentes para construir a sua funcionalidade personalizada.

Docker Layers

Se você olhar para a imagem acima, você pode ver que a imagem Sitecore® Experience Platform™ (XP) é construída sobre a imagem 4.8-windowsservercore-ltsc2019. Pegamos a imagem do Windows Server Core lançada pela Microsoft e adicionamos uma camada personalizada sobre ela para incluir o código Sitecore. Isso pode ser uma imagem para criar uma função de gerenciamento de conteúdo (CM) ou uma função de entrega de conteúdo (CD), mas o conceito permanece o mesmo.

Também podemos pegar essa imagem Sitecore XP e construir sobre ela para fornecer mais funcionalidades. A imagem do meio mostrada acima tira a imagem XP e, em seguida, coloca camadas Sitecore PowerShell Extensions (SPE) na parte superior. O diagrama à direita leva isso um passo adiante, usando a imagem SPE que acabamos de criar e adicionando uma camada para Sitecore Experience Accelerator (SXA) em cima disso.

O conceito poderoso com a abordagem em camadas é que essas camadas são compartilhadas. Então, essa imagem do Windows Server Core com a qual começamos só precisa existir no disco uma vez, e todas as três imagens acima são construídas em cima dela.

Você pode ler uma boa visão geral do Docker, seus casos de uso e a arquitetura do aplicativo em Documentos do Docker.

Capítulo 6

Registos

Você pode estar se perguntando de onde todas essas imagens vêm originalmente. Bem, eles são armazenados em registros — pode ter registos públicos ou privados. O registro público mais popular é o Docker Hub. Lá, você pode encontrar imagens para quase qualquer software moderno que você pode pensar! Para trazer uma imagem para sua máquina local, você usaria um comando pull do Docker, por exemplo:

Docker puxar mcr.microsoft.com/dotnet/samples:dotnetapp

Este comando puxará para baixo a imagem mcr.microsoft.com/dotnet/core/samples que tem a tag dotnetapp. Depois de puxado para baixo, você pode usá-lo localmente para criar contêineres com base nele. Para fazer isso, você usaria um comando simples de execução do Docker, por exemplo.

Docker executar mcr.microsoft.com/dotnet/samples:aspnetapp

Pode ler mais sobre registos em Documentos do Docker.

Capítulo 7

Volumes

Volumes é outro dos conceitos-chave ao trabalhar com contêineres. Há muitas ocasiões em que é útil compartilhar arquivos entre o host e o contêiner. Alguns bons exemplos disso são:

  • Ao trabalhar com ativos estáticos, você não deseja reconstruir a imagem e recriar seu contêiner para ver as alterações.
  • Ao trabalhar com arquivos secretos que você pode não querer ser incluído em uma imagem, por exemplo, arquivos de licença.

Volumes são criados para resolver este problema — eles permitem que você designe uma pasta na máquina host para ser compartilhada e disponível no contêiner. Este é um recurso poderoso, pois todas as alterações feitas no conteúdo do volume são refletidas instantaneamente dentro do contêiner.

Você pode ler mais sobre volumes em Documentos do Docker.

Capítulo 8

Ligação em rede

O conceito-chave final a ser abordado aqui é o networking. Uma das razões pelas quais os contêineres e serviços do Docker são tão poderosos é que você pode conectá-los em uma rede interna criada pelo daemon do Docker. Um bom exemplo disso seria um sistema composto por um aplicativo .NET Core com um back-end do SQL Server. Nesse cenário, você pode criar dois contêineres, um contendo o aplicativo .NET Core e outro contendo o SQL Server, e fazer com que o Docker crie uma rede entre os dois para permitir que eles se comuniquem entre si.

Você pode ler mais sobre networking em Documentos do Docker.

Capítulo 9

Leitura adicional

O site do Docker tem um grande conjunto de tutoriais para você começar a usar o Docker para o desenvolvimento de seu aplicativo, que você pode ver aqui:

  • https://docs.docker.com/get-started/
  • https://docs.docker.com/get-started/part2/
  • https://docs.docker.com/get-started/part3/

Obrigado pela leitura e não deixe de seguir #LearnSitecore para futuros conteúdos!

Rob Earlam, Evangelista Técnico, Sitecore
https://robearlam.com/

Você também pode gostar

Plataforma

  • Visão geral da plataforma
  • Sistema de Gerenciamento de Conteúdo
  • Gestão de Ativos Digitais
  • Operações de conteúdo
  • Otimização de conversão
  • Audiências e inteligência
  • Comércio
  • Gerente de Experiência (XM)
  • Plataforma de Experiência (XP)
  • Conecte-se
  • Enviar

Soluções

  • Estratégia de produto
  • Modernize seu DX
  • Gerenciar conteúdo global
  • Oferecer comércio ilimitado
  • Otimize com dados
  • Todas as Histórias dos Clientes
  • Prêmios de Experiência
  • Todos os Relatórios dos Analistas
  • Simpósio Sitecore

Recursos

  • Liderança de pensamento
  • Centro de Recursos
  • Percepções
  • Eventos e Webinars
  • Trust Center
  • Apoio

Serviços

  • Nuvem Gerenciada
  • Serviços Sitecore
  • Sitecore360
  • Aprendizagem Sitecore
  • Laboratório de Inovação em IA

Empresa

  • Quem somos
  • Entre em contato conosco
  • Redação
Sitecore Corporate Logo
envelope-regular.svglinkedin-in.svgx-twitter.svgfacebook-f.svginstagram.svgyoutube.svg

© Copyright 2026, Sitecore A/S ou uma empresa afiliada ao Sitecore. Todos os direitos reservados.

  • Configurações de cookies
  • Centro Jurídico
  • Privacidade
  • Suas escolhas de privacidade
  • webmaster@sitecore.net
  • +1-855-Sitecore