Skip to content

Requisiti di sistema

Un solo container, e una breve lista di ciò che gli serve

Di cosa ha bisogno il container prima che qualcuno lo distribuisca: il runtime al suo interno, l’unica porta che pubblica, il volume che deve conservare, e l’host che ti consigliamo di dargli.

Il runtime dentro l’immagine

Due runtime di linguaggio in un solo container, e il secondo ha una ragione precisa, non una preferenza.

I requisiti di runtime del container TabTotal, con il file da cui ciascuno è stato letto
Che cos’èPerché, e dove verificarlo
Immagine di basepython:3.13-slimLa stessa base in entrambe le fasi di build. Ciò che viene compilato è ciò che gira. Dockerfile:13
Python3.13 o successivoTestato su 3.13 in integrazione continua. pyproject.toml:9, .github/workflows/tests.yml:91
.NETRuntime 8.0Solo il runtime, non l’SDK. Migrate avvolge il .NET Migration SDK di Tableau. Il runtime viaggia con esso dentro l’immagine. Dockerfile:101
Gira comeuid 10001, utente ttcRoot viene usato una volta, per prendere possesso di un volume montato, e abbandonato prima che l’applicazione parta. Dockerfile:188
Architettura del processoreamd64Una build arm64 si carica senza errori su un host x86 e poi non parte. L’architettura va verificata prima di un deployment, non dopo.

Un solo listener raggiunge la rete

Le applicazioni governate rispondono in loopback dentro il container. Il gateway le raggiunge, e nient’altro.

Tutte le 14 applicazioni governate si legano all’interfaccia locale dentro il container e non vengono mai pubblicate. Una sola porta fa entrare ogni richiesta, e il gateway instrada ciascuna all’applicazione che la possiede, tenendo una sola sessione Tableau per te.

È una proprietà che puoi verificare, non una promessa da accettare. Elenca le porte pubblicate del container in esecuzione e ne troverai una, qualunque sia l’elenco di strumenti che contiene in quella versione.

Le porte, e cosa sta davanti

Il container serve traffico in chiaro e non detiene mai un certificato. La sicurezza del trasporto resta dove già la gestisci.

I requisiti di rete del container, con il file da cui ciascuno è stato letto
Che cos’èPerché, e dove verificarlo
Porta pubblicata8865 per impostazione predefinitaImpostata dalla variabile d’ambiente PORT. Un deployment dietro un proxy di solito la mappa invece di cambiarla. Dockerfile:236
Porte delle applicazionida 8851 a 8869, su loopbackOgni applicazione governata si lega a 127.0.0.1 dentro il container e non viene mai pubblicata. Il gateway le raggiunge e la rete no.
Regole in ingresso80 e 443 verso il mondo, accesso amministrativo dai tuoi indirizziLa porta dell’applicazione stessa resta non pubblicata.
Sicurezza del trasportoTerminata prima del containerIl container serve sempre HTTP semplice e non detiene mai un certificato. Il tuo bilanciatore di carico o reverse proxy possiede la sicurezza del trasporto, che è dove sta già per tutto il resto che gestisci.
Header inoltratiConsiderati attendibili solo quando lo dici tuLa fiducia negli header è disattivata per impostazione predefinita. Un container raggiungibile direttamente ignora un indirizzo inoltrato.

Cosa deve persistere

Un solo volume contiene tutto ciò che una ricostruzione non deve perdere. Questa pagina dice cosa c’è dentro, perché l’istruzione di fare il backup di un percorso non ti dice cosa perderesti.

Lo storage persistente di cui il container ha bisogno, e cosa contiene ogni volume
Che cos’èValorePerché, e dove verificarlo
Volume dei dati/app/dataLa directory degli utenti, il registro delle modifiche, il log di audit amministrativo, i profili del livello semantico e i record di connessione cifrati. Dockerfile:215
Volume degli artefatti/app/artifactsDove Offboard scrive i deliverable che un audit richiede.
Dimensione del volumeEntro la raccomandazione di 500 GBGli archivi sono file JSON e JSON Lines, non un database, e i log di osservabilità ruotano a 5 MB mantenendo cinque file.
ProprietàCorretta a ogni avvioL’entry point prende possesso del volume prima di abbandonare i privilegi. Un volume creato da una versione precedente resta leggibile e non viene mai svuotato in silenzio.
File vicini ai segretiScritti 0600, atomicamenteUna scrittura parziale lascia intatto il file precedente, non uno troncato.

Cosa ti consigliamo di dargli

Un solo container su un host Docker, con spazio per lavorare. Sono le cifre su cui Boreon ti consiglia di dimensionare.

L’host consigliato per un solo container TabTotal
Che cos’èValoreCosa incide
HostUn host DockerUn singolo container autonomo su qualsiasi host Docker che già gestisci. Nessun orchestratore è richiesto.
Memoria8 GB di RAMDue runtime di linguaggio e un browser headless condividono un solo container.
Disco disponibile500 GBCopre l’immagine, i volumi persistenti e lo spazio per gli artefatti che un audit richiede.

Come una distribuzione si segnala

Chiedi al container e risponde con la versione che sta eseguendo, che è una fonte migliore per quel numero di qualsiasi pagina, questa compresa.

Endpoint

GET /health. Risponde con uno stato, il nome del prodotto e la versione in esecuzione. Un deployment può essere confermato, non supposto.

Intervallo

Ogni 30 secondi

Timeout

4 secondi

Tolleranza all’avvio

60 secondi. Il gateway aspetta che ogni applicazione governata risponda prima di dichiararsi pronto. Un avvio a freddo è più lento di un riavvio.

Tentativi

5