Perché Docker?

Perché gli sviluppatori hanno scelto Docker?

Ci sono Linux Containers (LXC). Ci sono script per VM. Potresti creare un installer ISO.
LXC sono letteralmente container.

Per gli amministratori di sistema, questa assurdità di Docker è ridondante e inutile se hai una configurazione di rete con firewall, ecc.

Capisco che questa sia un’installazione semplice per coloro che non sanno come usare Linux e metterlo in sicurezza, ma per gli amministratori di sistema imparare Docker è inutile. LXC e le VM saranno sempre molto meglio di Docker.

Per gli amministratori di sistema che gestiscono server, creiamo LXC e VM in una rete separata. Quindi ho creato una VM dedicata per Discourse per poi creare un container Docker. -_-

Quindi ora c’è una rete all’interno di una rete. Una VM dedicata e isolata e solo per creare un container Docker isolato da tutto -_-

Non esiste una guida per installarlo senza Docker, indipendentemente dal fatto che venga fornito o meno con il supporto. Non esiste una guida o assistenza per esporre l’IP host al container.

1 Mi Piace

Perché quando hanno iniziato a sviluppare Discourse, era la cosa migliore in circolazione.

Se lo facessero oggi, immagino che l’unica cosa che farebbero diversamente potrebbe essere usare docker-compose piuttosto che il loro comando personalizzato launcher che crea e avvia le immagini Docker.

Devi essere su un internet diverso dal mio. Da tutto ciò che vedo, quasi tutti coloro che gestiscono software su più di, diciamo, 5 server, utilizzano una qualche forma di container per gestire le cose. Sempre più sviluppatori eseguono cose sui loro laptop in container per assicurarsi che le versioni di tutto siano mantenute coerenti.

Anche la gestione di un ambiente di sviluppo Discourse/rails/ember su un singolo laptop è una sfida.

È vero. Se vuoi un forum che puoi usare senza Docker, non dovresti usare Discourse.

9 Mi Piace

Docker è poi così male?

5 Mi Piace

Supporto questa idea. docker-compose sarebbe il 100% migliore dato che ho appena seguito un corso intensivo su docker e docker-compose. Sembra che se Discourse avesse usato docker-compose avrei risolto questo problema senza la necessità di creare un post.

docker-compose fa tutto il lavoro pesante simile a quello che fa il launcher, ma con docker-compose avrei potuto configurare facilmente la rete e il bridge.

Sono d’accordo. Uso i container. solo puri container LxC. Nessun software aggiuntivo richiesto. Non è così semplice come sembra. Ad esempio: su uno dei miei server ho un pacchetto bronze che è fondamentalmente per sviluppatori. Configurazione economica e semplice. Nel momento in cui un pagamento viene confermato, il server principale riceve una richiesta per creare un container lxc o una VM in base alla selezione dell’utente, ovviamente è necessario un nome di dominio o verrà emesso un sottodominio personalizzato per il server (lxc/vm). Chiede inoltre all’utente di configurare la propria rete che poi non può essere accessibile dalla rete principale e viceversa. È fondamentalmente un piccolo AWS.

Per lo sviluppo, docker sarebbe eccezionale per i laptop e per scopi di sviluppo per separare i file del computer principale e i file di sviluppo, comprese le reti.

Non posso essere d’accordo né in disaccordo poiché non ho sviluppato personalmente nulla con Discourse/rails/ember. questo è al di fuori della mia portata e se gli sviluppatori dicono che è più facile, non sono nella posizione di dissentire da qualcosa che non conosco.

Questo è il mio problema, ho fatto abbastanza ricerche su tutto il software per forum disponibile e ne ho usato parecchio.

Le mie opzioni si sono ridotte a 2 forum:

  1. Discourse
  2. Flarum

Ho scelto Discourse come il miglior software per forum sotto tutti gli aspetti e a causa della mia unica esperienza con docker che è stata Nginx Reverse Proxy Manager.

Pensavo che tutto ciò che dovevo fare fosse inserire alcune delle mie informazioni nel file .yml e poi eseguire docker-compose up -d. Mi sbagliavo.

Il problema che ho attualmente può essere risolto, ci vorrà solo un po’ di tempo per capirlo.
Mi rifiuto di usare Flarum perché ho usato Discourse su molte piattaforme e senza offesa per altri buoni software per forum là fuori, ma Discourse è il miglior forum disponibile sul mercato.

Forse un aggiornamento a docker-compose potrebbe aiutare :smiley:

Dopo una rapida ricerca e alcune guide di 5 minuti più qualche video su YouTube.

No, Docker non è affatto male. Docker è perfetto per gli sviluppatori che usano la propria macchina personale per sviluppare o anche per i computer di lavoro. Poiché la maggior parte degli sviluppatori non usa Linux come sistema operativo principale, la creazione di container LxC non sarebbe così facile. È qui che entra in gioco Docker. Supporta tutte le principali piattaforme consentendo agli sviluppatori di collaborare con facilità e il vantaggio sarebbe non rovinare l’intero sistema con file non destinati all’uso da parte del sistema operativo principale.

Potrei entrare un po’ più nei dettagli, ma l’ultima versione di Docker/Docker-Compose è perfetta per Discourse, poiché vedo che richiede molte parti in movimento ed è abbastanza facile raggrupparle usando Docker-Compose. In questo modo, se qualcosa va storto, gli sviluppatori sapranno esattamente cosa fare.

Ho un’idea per Discourse, ma prima cercherò di capire la mia installazione.

1 Mi Piace

Questo è sicuramente il motivo?

3 Mi Piace

Perché supportate ufficialmente solo Docker?

Ospitare applicazioni Rails è complicato. Anche se si dispone già di Postgres, Redis e Ruby installati sul server, è comunque necessario preoccuparsi dell’esecuzione e del monitoraggio dei processi Sidekiq e Rails, nonché della configurazione di Nginx. Con Docker, la nostra configurazione Discourse completamente ottimizzata è disponibile in un semplice container, insieme a un’interfaccia grafica basata sul Web che rende l’aggiornamento a nuove versioni di Discourse facile come cliccare su un pulsante.

3 Mi Piace

Non hai bisogno di un launcher e potresti creare un’installazione personalizzata di docker compose, anche se richiederebbe un lavoro significativo da parte tua.

2 Mi Piace

L’obiettivo principale non è l’isolamento, ma la facilità di distribuzione…

Non è necessario isolare il container; puoi eseguirlo su un bridge instradato o su un bridge a cui appartiene una porta della tua rete interna. Il primo è il modo in cui lo eseguiamo in produzione - vedi qui un video di @mpalmer che spiega come funziona.

Se qualcuno vuole davvero farlo, può seguire gli stessi passaggi eseguiti dal Dockerfile per ottenere le versioni corrette di tutti gli strumenti utilizzati dall’immagine supportata.

Non abbiamo una guida poiché ciò richiederebbe a qualcuno di mantenerla, e la VASTA maggioranza delle persone che lo desiderano ha:

  • poca esperienza con i server
  • conoscenze sufficienti per prendere ciò che forniamo e adattarlo alle proprie esigenze

Ad esempio, so che ci sono persone là fuori che usano launcher per creare un’immagine che viene distribuita tramite i propri strumenti (che si tratti di lxc, kubernetes, qualunque cosa) e che funziona per loro.

Tentare di supportare (gratuitamente) tutti coloro che utilizzano la propria installazione personalizzata di un software complicato sarebbe un incubo.

Docker è una via di mezzo. Il nostro sistema non è perfetto; è cresciuto un po’ nel tempo e certamente sentiamo il peso di alcune refactoring in ritardo. Abbiamo creato launcher prima ancora che esistesse docker-compose.

Abbiamo intenzione di refattorizzarlo e/o passare a docker-compose, ma al momento non è una priorità.

10 Mi Piace

Non è così difficile far partire Discourse con le variabili d’ambiente richieste affinché Nginx Reverse Proxy funzioni. Per lo più, basta aggiungere la variabile d’ambiente allo YML, o aggiungerle a ciò che si ottiene da ./launcher start-command app.

docker-compose non è stato molto utile quando Discourse è stato avviato, e potrebbe non essere nemmeno esistito.

3 Mi Piace

Odio Docker (è troppo facile per me, ogni bambino può farlo, quindi niente di speciale! Sbadiglio)! E invece di scrivere semplicemente il codice in modo che funzioni anche senza la variante ufficiale di Docker… Non capisco! Anche il metodo ufficiale non funziona!

E ci sono persone che vogliono sfide o addirittura le padroneggiano! Per loro, Docker è ancora più un ostacolo, perché devono occuparsi anche di Docker!

Perché altro si dovrebbe usare Docker?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.