"title":"Como é adaptada uma imagem OCI | ProxMenux",
"description":"Do repositório da imagem e do respetivo ficheiro Compose a um modelo que pode ser revisto, um plano de implementação e um LXC nativo do Proxmox VE, sem Docker no seu interior."
},
"header":{
"title":"Como é adaptada uma imagem OCI",
"description":"Do repositório da imagem e do respetivo ficheiro Compose a um modelo que pode ser revisto, um plano de implementação e um LXC nativo, sem instalar Docker no seu interior.",
"chartCode":"flowchart TB\n A[\"{{repo}}\"] --> B[\"Compose + README\"]\n B --> C[\"{{converter}}\"]\n C --> D[\"{{template}}\"]\n D --> E{\"{{blockers}}\"}\n E -- \"{{no}}\" --> F[\"{{review}}\"]\n F --> D\n E -- \"{{yes}}\" --> G[\"{{plan}}\"]\n G --> H[\"pct create\"]\n H --> I[\"{{lxc}}\"]",
"p":"O conversor lê a imagem e o ficheiro Compose publicados pelo projeto e gera um modelo JSON. Se houver requisitos ainda não adaptados que impeçam a instalação, o modelo é revisto antes de ser publicado no catálogo. Um ficheiro de ajustes revistos, chamado overlay, resolve esses impedimentos. Só os modelos sem impedimentos pendentes são propostos para instalação."
}
]
},
{
"id":"template",
"title":"O que o modelo preserva",
"blocks":[
{
"cards":{
"items":[
{
"icon":"archive",
"title":"Identidade da imagem",
"body":"Repositório, tag de atualização contínua, arquitetura, digest resolvido e revisão de origem."
},
{
"icon":"braces",
"title":"Contrato do contentor",
"body":"Entrypoint, Cmd, ambiente, utilizador, diretório de trabalho, sinal de paragem, portas e volumes."
},
{
"icon":"layers",
"title":"Adaptação ao Proxmox VE",
"body":"Recursos, segurança, pontos de montagem, dispositivos, sysctls, verificações de estado e as adaptações necessárias em cada caso, com a respetiva justificação."
},
{
"icon":"shield",
"title":"Compatibilidade",
"body":"Chaves suportadas, requisitos por adaptar que impedem a instalação e estado de cada validação."
}
]
}
}
]
},
{
"id":"sources",
"title":"O OCI fornece o processo; o Compose fornece o ambiente",
"Entradas de ambiente LXC, <code>mpN</code> e <code>devN</code>"
],
[
"Perfil do ProxMenux",
"GPU, verificação de estado, credenciais",
"Perguntas e adaptações revistas"
],
[
"Utilizador",
"VMID, armazenamento, rede",
"O contrato da instância"
]
]
}
}
]
},
{
"id":"install",
"title":"O que acontece durante a instalação",
"blocks":[
{
"steps":{
"items":[
{
"title":"Resolver a referência",
"body":"O registo é consultado, a arquitetura do host é selecionada e é fixado o digest exato para o qual aponta a tag de atualização contínua."
},
{
"title":"Descarregar e verificar",
"body":"O Skopeo descarrega a imagem como um arquivo OCI. Antes de criar qualquer recurso, cada camada é verificada através do respetivo digest e descomprimida. Se a descarga estiver danificada, é repetida uma vez antes de a instalação ser interrompida."
},
{
"title":"Criar o sistema de ficheiros",
"body":"O <code>pct create</code> cria o rootfs a partir do arquivo e preserva os metadados oficiais do processo da imagem."
},
{
"title":"Ligar os recursos",
"body":"São aplicados os volumes, a rede, o ambiente, os dispositivos e os perfis de segurança declarados."
},
{
"title":"Consola",
"body":"A saída da consola do contentor é guardada no host. A consola do Proxmox VE abre uma shell se a imagem incluir uma."
},
{
"title":"Verificar",
"body":"No primeiro arranque, aguarda-se que o contentor tenha um endereço e que o serviço responda. Em caso de falha, a instalação não é apresentada como concluída com sucesso."
},
{
"title":"Registar a configuração",
"body":"A configuração efetiva é guardada no contrato da instância utilizado nas atualizações e recriações."
}
]
}
}
]
},
{
"id":"example",
"title":"Exemplo: uma imagem com /config e /downloads",
"intro":"Uma definição Compose habitual e a configuração do Proxmox VE que dela resulta. Os caminhos esperados pela aplicação não mudam.",
"p":"O <code>mp0</code> é um segundo disco pertencente ao contentor, com o nome <code>vm-VMID-disk-N</code> no armazenamento selecionado. É montado em <code>/config</code> e, com <code>backup=1</code>, incluído na cópia de segurança do contentor. O <code>mp1</code> não cria um disco: monta o diretório do host <code>/srv/downloads</code> em <code>/downloads</code> dentro do LXC. A porta 8080 não é mapeada: o LXC tem um endereço próprio e o serviço responde nesse endereço."