"title":"Så anpassas en OCI-avbildning | ProxMenux",
"description":"Från avbildningens arkiv och Compose-fil till en granskningsbar mall, en distributionsplan och en LXC direkt i Proxmox VE, utan Docker i containern."
},
"header":{
"title":"Så anpassas en OCI-avbildning",
"description":"Från avbildningens arkiv och Compose-fil till en granskningsbar mall, en distributionsplan och en LXC direkt i Proxmox VE, utan att installera Docker i containern.",
"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":"Konverteraren läser avbildningen och Compose-filen som projektet publicerar och skapar en JSON-mall. Om krav ännu inte har kunnat anpassas och hindrar installationen granskas mallen innan den publiceras i katalogen. En fil med granskade anpassningar, en så kallad overlay, löser dessa hinder. Bara mallar utan kvarstående hinder erbjuds för installation."
}
]
},
{
"id":"template",
"title":"Vad mallen bevarar",
"blocks":[
{
"cards":{
"items":[
{
"icon":"archive",
"title":"Avbildningens identitet",
"body":"Arkiv, löpande uppdaterad tagg, arkitektur, fastställd digest och källrevision."
},
{
"icon":"braces",
"title":"Containerkontrakt",
"body":"Entrypoint, Cmd, miljö, användare, arbetskatalog, stoppsignal, portar och volymer."
},
{
"icon":"layers",
"title":"Anpassning till Proxmox VE",
"body":"Resurser, säkerhet, monteringspunkter, enheter, sysctls, hälsokontroller och de anpassningar som behövs för var och en, med motivering."
},
{
"icon":"shield",
"title":"Kompatibilitet",
"body":"Nycklar som stöds, krav som ännu inte anpassats och hindrar installationen samt status för varje validering."
"Miljöposter för LXC, <code>mpN</code> och <code>devN</code>"
],
[
"ProxMenux-profil",
"GPU, hälsokontroll, inloggningsuppgifter",
"Frågor och granskade anpassningar"
],
[
"Användare",
"VMID, lagring, nätverk",
"Instanskontraktet"
]
]
}
}
]
},
{
"id":"install",
"title":"Vad som händer under installationen",
"blocks":[
{
"steps":{
"items":[
{
"title":"Fastställ avbildningen",
"body":"Registret frågas, värdens arkitektur väljs och den exakta digest som den löpande uppdaterade taggen pekar på fastställs."
},
{
"title":"Hämta och verifiera",
"body":"Skopeo hämtar avbildningen som ett OCI-arkiv. Innan något skapas kontrolleras varje lager mot sin digest och packas upp. Om hämtningen är skadad görs ett nytt försök innan installationen avbryts."
},
{
"title":"Skapa filsystemet",
"body":"<code>pct create</code> skapar rootfs från arkivet och bevarar avbildningens officiella processmetadata."
},
{
"title":"Anslut resurserna",
"body":"Deklarerade volymer, nätverk, miljö, enheter och säkerhetsprofiler kopplas in."
},
{
"title":"Konsol",
"body":"Containerns konsolutdata sparas på värden. Konsolen i Proxmox VE öppnar ett skal om avbildningen innehåller ett."
},
{
"title":"Kontrollera",
"body":"Vid första starten väntar installationen på en adress och på att tjänsten ska svara. Ett misslyckande rapporteras inte som en lyckad installation."
},
{
"title":"Registrera konfigurationen",
"body":"Den faktiska konfigurationen sparas i instanskontraktet som används vid uppdateringar och återskapande."
}
]
}
}
]
},
{
"id":"example",
"title":"Exempel: en avbildning med /config och /downloads",
"intro":"En vanlig Compose-definition och den Proxmox VE-konfiguration som den omvandlas till. Sökvägarna som programmet förväntar sig ändras inte.",
"p":"<code>mp0</code> är en andra disk som tillhör containern och heter <code>vm-VMID-disk-N</code> på den valda lagringen. Den monteras på <code>/config</code> och ingår i containerns säkerhetskopia med <code>backup=1</code>. <code>mp1</code> skapar ingen disk: värdens katalog <code>/srv/downloads</code> monteras på <code>/downloads</code> i LXC-containern. Port 8080 mappas inte: LXC-containern har en egen adress där tjänsten svarar."