Os buildpacks usam um criador padrão, que consiste em todos os componentes necessários para executar uma compilação do seu serviço, incluindo uma imagem de compilação e de execução:
- Imagem de compilação: usada pela imagem do criador para criar o ambiente de compilação onde o ciclo de vida dos buildpacks é executado. É aqui que a sua aplicação ou função é preparada para a conteneirização.
- Imagem de execução: a imagem base a partir da qual a imagem de contentor do seu serviço é criada. Esta é a imagem que aloja a sua aplicação ou função criada.
Ambas as imagens podem ser personalizadas e expandidas de acordo com as suas necessidades. Por exemplo, pode personalizar imagens para adicionar os pacotes necessários para criar o seu serviço ou para instalar pacotes do sistema, para que estejam disponíveis quando o seu serviço for executado.
Antes de começar
Usa a CLI pack
para criar localmente o seu serviço numa imagem de contentor.
Antes de começar
- Instale o Docker Community Edition (CE) na sua estação de trabalho. O Docker é usado pelo
pack
como um criador de imagens OCI. - Instale a CLI Pack.
- Instale a ferramenta Git source control para obter a aplicação de exemplo do GitHub.
Personalize as imagens de compilação e execução
Os buildpacks usam uma imagem de criação para construir o seu serviço numa imagem de contentor. Quando o processo de compilação estiver concluído, a sua aplicação ou função é inserida numa imagem de execução. Saiba mais sobre o processo de compilação em Conceitos de Buildpacks.
Expandir a imagem do criador
Para personalizar a imagem predefinida do criador:
Crie um
builder.Dockerfile
personalizado a partir da imagem do criador predefinida. Tem de especificar a etiqueta para a versão do criador que suporta a sua imagem base. Por exemplo, a etiqueta de imagem base:v1
não é suportada pela etiqueta do criador:google-22
.Exemplo:
FROM gcr.io/buildpacks/builder USER root RUN apt-get update && apt-get install -y --no-install-recommends \ subversion && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* USER cnb
Crie a sua imagem do criador personalizada a partir do ficheiro
builder.Dockerfile
:docker build -t BUILDER_IMAGE_NAME -f builder.Dockerfile .
Substitua
BUILDER_IMAGE_NAME
pelo nome que escolher para a sua imagem do criador personalizada.Execute o comando com a imagem do criador personalizada para criar a nova imagem de contentor da sua aplicação ou função:
pack build
pack build SERVICE_IMAGE_NAME --builder BUILDER_IMAGE_NAME
Substituição:
SERVICE_IMAGE_NAME
com o nome que escolher para a imagem da aplicação ou da função.BUILDER_IMAGE_NAME
com o nome da imagem do criador personalizado.
Expandir a imagem da corrida
Para personalizar a imagem do contentor de execução predefinida:
Crie uma imagem de execução personalizada
run.Dockerfile
a partir da imagem de execução predefinida. Tem de especificar a etiqueta para a versão do criador que suporta a sua imagem de execução. Por exemplo, a etiqueta de imagem de execução:v1
não é suportada pela etiqueta de criação:google-22
.Exemplo:
FROM gcr.io/buildpacks/gcp/run USER root RUN apt-get update && apt-get install -y --no-install-recommends \ imagemagick && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* USER 33:33
Crie a imagem da sua corrida personalizada a partir do ficheiro
run.Dockerfile
:docker build -t RUN_IMAGE_NAME -f run.Dockerfile .
Substitua
RUN_IMAGE_NAME
pelo nome que escolher para a imagem de execução personalizada.Execute o
pack build
comando com a sua imagem de execução personalizada para criar a nova imagem do contentor da sua aplicação ou função:pack build SERVICE_IMAGE_NAME --builder gcr.io/buildpacks/builder:v1 --run-image RUN_IMAGE
Substituição:
SERVICE_IMAGE_NAME
com o nome que escolher para a imagem da aplicação ou da função.RUN_IMAGE_NAME
com o nome da imagem da sua corrida personalizada.