Files
ProxMenux/web/messages/sv/docs/oci-manager/custom-image.json
T

279 lines
13 KiB
JSON

{
"meta": {
"title": "Installera en avbildning utanför katalogen | ProxMenux",
"description": "Anpassa en OCI-avbildning från en Compose-fil, en URL, ett docker run-kommando eller en avbildningsreferens och granska vad ProxMenux kan återskapa före installationen."
},
"header": {
"title": "Installera en avbildning utanför katalogen",
"description": "Din avbildning anpassas från sin Compose-fil, ett docker run-kommando eller enbart referensen. Resultatet visas för granskning innan någon LXC-container skapas.",
"section": "OCI manager Apps"
},
"sections": [
{
"id": "intro",
"blocks": [
{
"calloutInfo": {
"title": "Samma konverterare och installationsflöde",
"body": "Alternativet <strong>Installera en avbildning utanför katalogen</strong> använder samma konverterare och installationsflöde som katalogmallarna. Skillnaden är att kontraktet skapas vid det tillfället från den angivna definitionen och valideras innan någon LXC-container skapas."
}
}
]
},
{
"id": "sources",
"title": "Så beskrivs avbildningen",
"intro": "Första vyn frågar hur avbildningen beskrivs. Fyra alternativ läser en definition som anpassas, ett femte använder bara avbildningens namn och tre andra läser en färdig oci-compose-fil.",
"blocks": [
{
"table": {
"headers": [
"Alternativ",
"Vad som läses"
],
"rows": [
[
"Klistra in Compose-filen i terminalen",
"Klistra in YAML-innehållet i terminalen och avsluta med Ctrl+D."
],
[
"Läs Compose-filen från värden",
"En sökväg på noden, som standard <code>/root/docker-compose.yml</code>. Filen måste finnas och får vara högst 256 KiB."
],
[
"Hämta Compose-filen från en adress",
"En <code>http://</code>- eller <code>https://</code>-adress som tillhandahåller rå YAML. Högst 256 KiB hämtas."
],
[
"Klistra in docker run-kommandot i terminalen",
"Kommandot som projektet publicerar. Portar, miljö, volymer, enheter, capabilities, användare, delat minne och andra alternativ som stöds anpassas."
],
[
"Bara avbildningsreferensen, utan Compose-fil",
"En referens som <code>ghcr.io/user/application:latest</code>. Registret frågas och avbildningens OCI-metadata bevaras."
],
[
"Klistra in en oci-compose i terminalen",
"Klistra in JSON-innehållet i terminalen och avsluta med Ctrl+D. Det konverteras inte utan kontrolleras och installeras som det är skrivet."
],
[
"Läs en oci-compose-fil från värden",
"En JSON-fil på noden, som standard <code>/root/oci-compose.json</code>, på högst 2 MiB."
],
[
"Hämta en oci-compose från en adress",
"En <code>http://</code>- eller <code>https://</code>-adress som tillhandahåller JSON-filen. Högst 2 MiB hämtas."
]
]
}
},
{
"figure": {
"src": "/oci-manager/custom-source-menu.png",
"alt": "Meny för att välja hur en avbildning utanför katalogen ska beskrivas",
"caption": "Olika sätt att beskriva en avbildning utanför katalogen."
}
}
]
},
{
"id": "reference-only",
"title": "Vad enbart avbildningsreferensen ger",
"intro": "Avbildningen innehåller processens metadata, men inte allt som en Compose-fil brukar lägga till runt den.",
"blocks": [
{
"table": {
"headers": [
"Läses från avbildningen",
"Finns inte i avbildningen",
"Konsekvens"
],
"rows": [
[
"<code>Entrypoint</code>, <code>Cmd</code>, <code>User</code>, <code>WorkingDir</code> och den inbyggda miljön",
"Variabler som bara finns i dokumentationen",
"Läggs till under installationen eller via Ändra"
],
[
"Volymer som avbildningen deklarerar",
"Kataloger på värden som bara anges i Compose-filen",
"Ytterligare sökvägar läggs till före installationen"
],
[
"<code>EXPOSE</code>-portar",
"URL, protokoll eller funktionell hälsokontroll",
"Porten och sättet att kontrollera tjänsten bekräftas"
],
[
"Arkitekturer och digest i registret",
"Enheter, privilegier eller externa beroenden",
"Aktiveras inte utan en definition som begär dem"
]
]
}
}
]
},
{
"id": "review",
"title": "Granska före installationen",
"intro": "Efter att definitionen anpassats visar ProxMenux hur den har tolkats, innan VMID, resurser eller lagring efterfrågas.",
"blocks": [
{
"steps": {
"items": [
{
"title": "Analysera",
"body": "Tjänster, avbildning, portar, sökvägar, miljö, enheter, säkerhet och hälsokontroll läses in."
},
{
"title": "Fråga registret",
"body": "Avbildningen måste finnas i registret och de publicerade arkitekturerna listas. Ett privat register läses med kontot som sparats för det."
},
{
"title": "Lista det som inte tillämpas",
"body": "Etiketter, Docker-nätverk, Swarm-inställningar och andra nycklar som inte påverkar en LXC-container listas."
},
{
"title": "Blockera alternativ utan säker motsvarighet",
"body": "Nycklar utan säker motsvarighet visas under <strong>Alternativ utan motsvarighet</strong> och installationen fortsätter inte. Inget ignoreras utan besked."
},
{
"title": "Fråga efter hemliga uppgifter",
"body": "Variabler vars namn tyder på lösenord, token eller nyckel efterfrågas som känsliga uppgifter under installationen."
}
]
}
},
{
"figure": {
"src": "/oci-manager/custom-review.png",
"alt": "Sammanfattning av hur ProxMenux har tolkat Compose-filen",
"caption": "Sammanfattningen som visas innan installationen frågar efter VMID och resurser."
}
},
{
"p": "Efter att sammanfattningen godkänts följer samma flöde som i katalogen: namn, standardläge eller avancerat läge, VMID, CPU, minne, nätverk, start med noden, beständiga och extra sökvägar, kompatibla enheter och en slutlig sammanfattning."
}
]
},
{
"id": "examples",
"title": "Exempel på indata",
"blocks": [
{
"codeGrid": {
"items": [
{
"title": "Compose",
"code": "services:\n app:\n image: ghcr.io/example/app:latest\n ports:\n - \"8080:8080\"\n volumes:\n - ./config:/config\n - /srv/media:/media\n environment:\n TZ: Europe/Madrid"
},
{
"title": "docker run",
"code": "docker run -d \\\n --name app \\\n -p 8080:8080 \\\n -e TZ=Europe/Madrid \\\n -v app-config:/config \\\n -v /srv/media:/media \\\n ghcr.io/example/app:latest"
}
]
}
}
]
},
{
"id": "oci-compose",
"title": "En oci-compose skriven för hand",
"intro": "En oci-compose är JSON-filen som ett program installeras från. Katalogen innehåller en sådan fil per program. Samma format kan skrivas för hand och installeras med det här alternativet.",
"blocks": [
{
"p": "I en handskriven fil bestämmer författaren avbildning, portar, variabler, volymer och installationsfrågor. ProxMenux kompletterar resten när filen läses. Formatet kan ange sådant som Compose inte kan: frågetexter, ett lösenord som skapas under installationen, en GPU-profil, ägaren till varje volym, kontrollen vid första starten eller inloggningsuppgifterna som visas till sist."
},
{
"steps": {
"items": [
{
"title": "Kontrollera",
"body": "En fil med fel installeras inte. Varje fel anger vilket fält det gäller; vid ogiltig JSON visas rad och kolumn."
},
{
"title": "Granska",
"body": "En giltig fil visar vad den installerar: avbildning, webbadress, portar, beständiga sökvägar, variabler som efterfrågas och filer som skrivs."
},
{
"title": "Installera",
"body": "Installationen är densamma som för katalogens program, med standardinställningar eller avancerade inställningar."
}
]
}
},
{
"calloutWarning": {
"title": "En fil som bestämmer privilegierna",
"body": "En oci-compose bestämmer vad som monteras i containern och med vilka privilegier. Granskningen visar detta före installationen: installera bara filer från betrodda källor."
}
},
{
"p": "Formatet beskrivs block för block med två fullständiga exempel i <readmeLink>OCI-motorns README</readmeLink>. Även en installationspost kan läsas på samma sätt: bara den ursprungliga mallen används, inga av svaren från den installationen."
}
]
},
{
"id": "private-registries",
"title": "Avbildningar i privata register",
"intro": "En avbildning i ett privat register, till exempel ett privat GitHub-paket eller ett privat Docker Hub-arkiv, läses med ett konto som sparats i ProxMenux.",
"blocks": [
{
"steps": {
"items": [
{
"title": "Registret nekar åtkomst till avbildningen",
"body": "Om registret svarar att avbildningen kräver ett konto erbjuder granskningen inloggning och läser sedan avbildningen igen."
},
{
"title": "Logga in",
"body": "Ett användarnamn och ett lösenord eller en token som får hämta avbildningen. Registret kontrollerar uppgifterna och de sparas bara om de godkänns."
},
{
"title": "Installera och håll uppdaterat",
"body": "Kontot används för att hämta avbildningen under installationen och även vid uppdatering, Ändra, Återskapa, watchdog och Monitors uppdateringskontroll, på alla noder i klustret."
}
]
}
},
{
"p": "<strong>Registerkonton</strong> i huvudmenyn för OCI manager Apps visar sparade konton per register och användare, aldrig deras hemliga uppgifter. Från varje konto kan du kontrollera, hämta eller installera en avbildning samt uppdatera eller ta bort inloggningsuppgifterna."
},
{
"list": {
"items": [
"GitHub (<code>ghcr.io</code>): användaren är GitHub-kontot och lösenordet en personlig åtkomsttoken med behörigheten <code>read:packages</code>.",
"Docker Hub (<code>docker.io</code>): användaren är Docker Hub-kontot och lösenordet en åtkomsttoken med läsbehörighet.",
"Andra register, även med egen port som <code>registry.example.com:5000</code>: användarnamn och lösenord eller token som registret tillhandahåller."
]
}
},
{
"calloutInfo": {
"title": "Var kontona sparas",
"body": "I <code>/etc/pve/priv/proxmenux/registry-auth.json</code>, läsbar bara av root, i samma mapp där Proxmox sparar lagringslösenord. <code>/etc/pve</code> delas mellan alla noder i klustret, så ett konto som läggs till på en nod används på alla. Värdens säkerhetskopia innehåller filen och avinstallation av ProxMenux tar bort den från alla noder."
}
}
]
},
{
"id": "limits",
"title": "Definitioner som inte installeras",
"blocks": [
{
"list": {
"items": [
"En Dockerfile utan publicerad avbildning: avbildningen måste först byggas och publiceras i ett OCI-register.",
"En Compose-fil med flera tjänster blockeras eftersom det här alternativet installerar en tjänst i en container, även om flera tjänster använder samma avbildning.",
"<code>configs</code>, externa hemligheter eller enhetsformat som inte kan anpassas entydigt.",
"Skalsubstitutioner som <code>$(command)</code>: ange det resulterande värdet direkt i stället.",
"Okända <code>docker run</code>-alternativ och <code>--env-file</code>: använd en Compose-fil med uttryckliga värden i stället."
]
}
}
]
}
]
}