Con l'ultima versione di Docker, è possibile ottenerlo facilmente con Link Docker, Docker Volume e Docker Compose. Ulteriori informazioni su questi strumenti dal sito di Docker.
Torna al flusso di lavoro come già menzionato: per qualsiasi applicazione Java EE tipica, sono richiesti un server applicazioni e un server database. Dal momento che nel tuo post non viene menzionato come viene impostato il database, suppongo che il tuo ambiente di sviluppo disponga di un server database separato per ogni sviluppatore.
Considerando tutti questi in ipotesi, potrei suggerire il seguente flusso di lavoro:
- costruire l'application server wildfly base dalla immagine ufficiale. È possibile ottenere che: "finestra mobile pull" comando
- Eseguire l'application server di base con:
finestra mobile eseguire -d -è -p 8080: 8080 -p 9990: 9990 --name baseWildfly jboss/wildfly
Il server di applicazione è in esecuzione ora, è necessario configurarlo per la connessione al server di database e configurare le impostazioni dataSource e altre configurazioni se neccessary al fine di avviare l'applicazione Java EE. Per questo, è necessario effettuare il login nel terminale bash del contenitore Jboss:
finestra mobile exec -i -t baseWildfly/bin/bash/
Si è ora nel terminal di container. È possibile configurare il server delle applicazioni come per qualsiasi ambiente Linux.
È possibile testare la configurazione distribuendo manualmente il file WAR su Wildfly. Questo può essere fatto facilmente con la console di amministrazione, o con il plugin Maven o con il comando AGGIUNGI come hai detto. Di solito lo faccio con la console di amministrazione, solo per testare rapidamente. Quando si verifica che la configurazione funziona, è possibile rimuovere il file WAR e creare uno snapshot del vostro contenitore:
finestra mobile commettere --change "aggiungere le impostazioni di base e configurazioni" baseWildfly yourRepository: tag
Ora puoi inviare l'immagine creata al tuo repository privato e condividerla con il tuo team di sviluppatori. Ora possono estrarre l'immagine ed eseguire il server delle applicazioni per l'implementazione immediata.
Non vogliamo distribuire il file WAR per ogni build di Maven utilizzando la console di amministrazione poiché è troppo macchinoso, quindi l'operazione successiva è di automatizzarla con Docker Volume.
Supponendo che si è configurato Maven per costruire il file WAR "../your_project/deployments/", è possibile collegare che alla distribuzione directory di contenitore Jboss come segue:
finestra mobile run -d - p 8080: 8080 -v ../your_project/deployments:/opt/jboss/wildfly/standalone/deployments
Ora, ogni volta che si ricostruisce l'applicazione con Maven, il server di applicazione esegue la scansione di cambio e ridistribuire il tuo file WAR.
È anche piuttosto problematico disporre di un server di database separato per ogni sviluppatore, in quanto devono configurarlo autonomamente nel contenitore perché potrebbero avere impostazioni diverse (ad esempio l'URL di db, il nome utente, la password, ecc.). Quindi, è bene renderlo disponibile alla fine.
Supponendo di utilizzare Postgres come server di database, è possibile estrarlo dal repository ufficiale di Postgres.Quando si ha l'immagine pronta, è possibile eseguire il server db:
finestra mobile run -d -p 5432: 5432 -t --name Postgres postgresDB
o eseguire il server di database con il collegato directory "dati":
finestra mobile run -d -p 5432: 5432 -v ../your_postgres/data:/var/lib/postgresql -t --name postgresDB Postgres
Il primo comando manterrà i dati nel contenitore, mentre il secondo manterrà i dati nell'inv dell'host.
Ora è possibile collegare il contenitore di database con il wildfly:
corsa finestra mobile -d -p 8080: 8080 --link postgresDB: banca dati -t baseWildfly
seguito è l'uscita di collegamento: 
Ora è possibile avere lo stesso ambiente per tutti i membri nel team degli sviluppatori e possono iniziare la codifica con una configurazione minima.
Le stesse immagini di base possono essere utilizzate per l'ambiente di produzione, in modo che ogni volta che si desidera rilasciare una nuova versione, è sufficiente copiare il file WAR nella cartella "your_deployment" dell'host.
L'aspetto positivo del server applicazioni e del server di database è che è possibile raggrupparlo facilmente in futuro per ridimensionarlo o applicare la disponibilità elevata.
Grazie. Quindi quello che stai dicendo è che ogni sviluppatore avrà un ambiente in cui l'applicazione NON è incorporata mentre dopo che il codice è stato commesso ed è ora di QA, test utente, produzione ecc. Si impacchetta l'app nel contenitore aggiungendola nell'immagine con il server CI, per esempio. Come si aggiunge l'applicazione all'immagine? Lo copi da una cartella sul server CI e usi il comando 'ADD'? – LuckyLuke