Come installare Docker Compose e Setup?

Mi chiedo cosa sia Docker Compose?


Docker è lo strumento di containerizzazione più popolare nel mondo DevOps. Ma cos’è Docker Compose?

Docker Compose viene utilizzato per eseguire applicazioni con più contenitori utilizzando un file YAML.

Possono esserci diversi casi in cui l’applicazione docker deve eseguire più contenitori per stack tecnologici diversi. Ora costruire, eseguire, collegare file docker separati per ciascun contenitore può essere un compito difficile; questo è dove docker-compose ti aiuta.

Utilizzando un singolo file docker-compose.yml semplice e diretto, è possibile creare, connettere e avviare tutti i contenitori eseguendo un singolo comando. Questo è molto utile per le applicazioni enterprise in produzione, dove diverse applicazioni vengono eseguite all’interno di container. Risparmia molto tempo eseguendo con facilità centinaia di applicazioni all’interno di contenitori docker.

Installazione di Docker Compose

Docker dovrebbe essere già installato sul sistema prima di installare compose.

Eseguire il comando seguente per installare docker-compose.

[Email protected]: / home / geekflare $ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s) – $ (uname -m)" -o / usr / local / bin / docker-compose

[sudo] password per geekflare:

% Totale% ricevuto% Xferd Velocità media Tempo Tempo Tempo Corrente

Dload Upload Velocità totale trascorsa a sinistra

100 617 0 617 0 0 1209 0 -: -: – -: -: – -: -: – 1209

100 11.1M 100 11.1M 0 0 348k 0 0:00:32 0:00:32 -: -: – 476k

Eseguire il comando seguente per impostare le autorizzazioni per i file.

[Email protected]: / home / geekflare $ sudo chmod + x / usr / local / bin / docker-compose

Controlla se è stato installato correttamente, dovrebbe restituire la versione di docker-compose.

[Email protected]: / home / geekflare $ docker-compose –version

docker-compose versione 1.23.1, build b02f1306

Di seguito è riportato l’elenco dei comandi che è possibile utilizzare con docker-compose.

[Email protected]: / home / geekflare $ docker-compose

Definisci ed esegui applicazioni multi-contenitore con Docker.

Uso:

docker-compose [-f…] [opzioni] [COMANDO] [ARGS …]

docker-compose -h | –help

Opzioni:

-f, –file FILE Specifica un file di composizione alternativo

(impostazione predefinita: docker-compose.yml)

-p, –project-name NAME Specifica un nome di progetto alternativo

(impostazione predefinita: nome directory)

–dettagliato Mostra più output

–livello di registro LIVELLO Imposta livello di registro (DEBUG, INFO, WARNING, ERROR, CRITICAL)

–no-ansi Non stampa i caratteri di controllo ANSI

-v, –version Stampa la versione ed esce

-H, –host HOST Daemon socket a cui connettersi

–tls Usa TLS; implicito da –tlsverify

–tlscacert CA_PATH Certificati di fiducia firmati solo da questa CA.

–tlscert CLIENT_CERT_PATH Percorso del file del certificato TLS

–tlskey TLS_KEY_PATH Percorso del file chiave TLS

–tlsverify Usa TLS e verifica il telecomando

–skip-hostname-check Non verificare il nome host del demone rispetto a

nome specificato nel certificato client

–project-directory PATH Specifica una directory di lavoro alternativa

(impostazione predefinita: il percorso del file Compose)

–compatibilità Se impostato, Compose tenterà di convertire la distribuzione

digita i file v3 nel loro equivalente non Swarm

comandi:

costruire Costruire o ricostruire servizi

bundle Genera un bundle Docker dal file Compose

config Convalida e visualizza il file Compose

creare Creare servizi

down Arresta e rimuove container, reti, immagini e volumi

eventi Ricevi eventi in tempo reale dai container

exec Esegue un comando in un contenitore in esecuzione

help Ottieni aiuto su un comando

images Elenca le immagini

uccidi uccidi i contenitori

registri Visualizza l’output dai contenitori

mettere in pausa i servizi

porta Stampa la porta pubblica per un’associazione porta

ps Elenco contenitori

pull Pull immagini di servizio

push Push immagini di servizio

riavvia Riavvia i servizi

rm Rimuovere i contenitori fermi

run Esegue un comando unico

scala Imposta il numero di contenitori per un servizio

start Avvia i servizi

stop Arresta i servizi

top Visualizza i processi in esecuzione

unpause Riattiva i servizi

su Crea e avvia container

versione Mostra le informazioni sulla versione Docker-Compose

Docker Compose File

Ecco un esempio di file di composizione docker che fa tutta la magia.

versione: ‘3’

Servizi:

ragnatela:

costruire: .

porti:

– "5000: 5000"

Redis:

Immagine: "Redis: alpine"

La prima riga in questo file specifica la versione utilizzata. Questo numero dipende dal motore Docker installato sul sistema. Ho installato Docker 18.09.6 che appartiene alla versione 3 di docker-compose. Scopri maggiori dettagli sulle versioni qui – https://docs.docker.com/compose/compose-file/compose-versioning/

Questo file docker esegue due servizi / applicazioni, Web e Redis. Il servizio Web viene creato tramite un file docker e viene eseguito con la porta del server Web di default pallone – 5000. Il servizio Redis viene eseguito estraendo l’immagine Redis dal registro dell’hub docker.

Per eseguire il file docker-compose.yml, è necessario eseguire un comando molto semplice: docker-compose up

Docker Compose Workflow

Di seguito sono riportati i tre passaggi per utilizzare la finestra mobile-componi.

  1. Crea file docker di ciascun servizio
  2. Creare un file docker-compose.yml per connettere tutti i file docker
  3. Esegui il comando docker-compose up per avviare il sistema

Vorrei fare un esempio del file di composizione docker di esempio che abbiamo visto in precedenza e mostrarvi come verrà creata la struttura del progetto.

my-app

| —– web

| ——— Dockerfile

| —– Redis

| Finestra mobile-compose.yml

my-app è la mia directory di progetto principale. Questa directory contiene directory di servizi Web e Redis e il file YAML composto dalla finestra mobile. File Docker del servizio Web è presente in una directory Web. Poiché il servizio Redis viene estratto direttamente dall’hub docker, nella directory Redis non è richiesto alcun file docker. Ecco come appare il flusso di lavoro composto da docker.

Containerizzazione di un’applicazione stack MEAN mediante Docker Compose

Ora che hai capito i concetti fondamentali. Permettetemi di mostrare una demo su come containerizzare un’applicazione stack MEAN usando docker-compose.

MEAN sta per MongoDB, Express, Angular e Node.js. Le applicazioni che usano questi servizi insieme sono anche chiamate applicazioni MEAN / Full-stack.

Per questa demo, eseguiremo tre container docker:

  • Contenitore 1 – Angolare
  • Contenitore 2 – NodeJS ed ExpressJS
  • Contenitore 3 – MongoDB

Scarica qui l’applicazione completa: http://bit.ly/2St7r3A (non testato per la produzione)

Ecco come apparirà il mio file docker-compose.yml per eseguire questi tre contenitori:

versione: ‘3’

Servizi:

angolare:

build: client angolare

porti:

– "4200: 4200"

volumi:

– ./ Angolare-client /: / var / www / app

esprimere:

build: express-server

porti:

– "3000: 3000"

volumi:

– ./ Esprimere server /: / var / www / app

links:

– Banca dati

Banca dati:

immagine: mongo

porti:

– "27017: 27017"

  • La prima riga specifica la versione di docker-compose utilizzata
  • Stiamo eseguendo tre servizi: angolare, espresso e database
  • Il servizio angolare verrà creato utilizzando un file docker. Funzionerà sulla porta 4200 e il volume dell’applicazione è / var / www / app
  • Il servizio espresso verrà creato utilizzando un file docker. Il server espresso verrà eseguito sulla porta 3000 e il volume è / var / www / app
  • Il servizio di database estrarrà l’immagine MongoDB da dockerhub e la avvierà al post 27017

Estrarre il progetto nella home directory e passare alla directory angular-client.

[Email protected]: ~ $ media media

[Email protected]: ~ / mean $ cd client-angolare

Esegui il comando di seguito se non hai installato Gestione pacchetti nodo (npm) sul tuo sistema (ignora se è installato).

[Email protected]: ~ / mean / angular-client $ sudo apt installa npm

[sudo] password per geekflare:

Lettura degli elenchi dei pacchetti … Fine

Costruire l’albero delle dipendenze

Lettura delle informazioni sullo stato … Fatto

Verranno installati i seguenti pacchetti aggiuntivi:

gyp javascript-common libc-ares2 libhttp-parser2.8 libjs-async libjs-eredita libjs-is-typedarray

libjs-jquery libjs-node-uuid libjs-underscore libssl1.0-dev libuv1 libuv1-dev node-abbrev node-ajv

nodo-ansi nodo-ansi-tabella-colori nodo-ansi-regex nodo-ansi-stili nodo-ansistyles nodo-aproba nodo-archy

nodo-siamo-noi-là-ancora nodo-asincrono nodo-aws-sign2 nodo-bilanciato-corrispondenza nodo-blocco-flusso nodo-uccello azzurro

nodo-boom nodo-rinforzo-espansione nodo-moduli-integrati nodo-camelcase nodo-caseless nodo-gesso node-cliui

nodo-clone nodo-co nodo-colore-converti nodo-colore-nome nodo-flusso-combinato nodo-concat-mappa

nodo-config-chain nodo-console-controllo-stringhe nodo-cookie-jar nodo-copia-contemporaneamente nodo-core-util-è

node-yallist node-yargs node-yargs-parser nodejs nodejs-dev nodejs-doc

Pacchetti suggeriti:

apache2 | lighttpd | debhelper httpd node-aws-sign node-oauth-sign node-http-signature

Verranno installati i seguenti NUOVI pacchetti:

gyp javascript-common libc-ares2 libhttp-parser2.8 libjs-async libjs-eredita libjs-is-typedarray

libjs-jquery libjs-node-uuid libjs-underscore libssl1.0-dev libuv1 libuv1-dev node-abbrev node-ajv

nodo-ansi nodo-ansi-tabella-colori nodo-ansi-regex nodo-ansi-stili nodo-ansistyles nodo-aproba nodo-archy

nodo-siamo-noi-là-ancora nodo-asincrono nodo-aws-sign2 nodo-bilanciato-corrispondenza nodo-blocco-flusso nodo-uccello azzurro

0 aggiornati, 212 appena installati, 0 da rimuovere e 233 non aggiornati.

È necessario ottenere 10,5 MB di archivi.

Dopo questa operazione, verranno utilizzati 53,6 MB di spazio su disco aggiuntivo.

Vuoi continuare? [Y / n] Y

Ottieni: 1 http://us.archive.ubuntu.com/ubuntu cosmic / universe amd64 gyp all 0.1 + 20180428git4d467626-1 [237 kB]

Ottieni: 2 http://us.archive.ubuntu.com/ubuntu cosmico / principale amd64 javascript-common tutti 11 [6.066 B]

Ottieni: 3 http://us.archive.ubuntu.com/ubuntu cosmico / principale amd64 libhttp-parser2.8 amd64 2.8.1-1 [20.8 kB]

Ottieni: 4 http://us.archive.ubuntu.com/ubuntu cosmic / universe amd64 libjs-async all 0.8.0-3 [25.4 kB]

Ottieni: 5 http://us.archive.ubuntu.com/ubuntu cosmic / universe amd64 libjs-is-typedarray all 1.0.0-2 [2.934 B]

Ottieni: 6 http://us.archive.ubuntu.com/ubuntu cosmico / principale amd64 libjs-jquery tutto 3.2.1-1 [152 kB]

Ottieni: 7 http://us.archive.ubuntu.com/ubuntu cosmic / universe amd64 libjs-node-uuid all 1.4.7-5 [11.5 kB]

Ottieni: 8 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 libjs-underscore all 1.8.3 ~ dfsg-1 [59.9 kB]

Ottieni: 9 http://us.archive.ubuntu.com/ubuntu cosmic-updates / main amd64 libssl1.0-dev amd64 1.0.2n-1ubuntu6.2 [1.366 kB]

Presi 10,5 MB in 1min 34s (112 kB / s)

Estrazione di modelli dai pacchetti: 100%

Selezione del pacchetto precedentemente non selezionato gyp.

(Lettura del database … 180130 file e directory attualmente installati.)

Preparazione per il disimballaggio … / 000-gyp_0.1 + 20180428git4d467626-1_all.deb …

Disimballaggio gyp (0.1 + 20180428git4d467626-1) …

Selezione del pacchetto precedentemente non selezionato javascript-common.

Preparazione per decomprimere … / 001-javascript-common_11_all.deb …

Disimballaggio javascript-common (11) …

Selezione del pacchetto precedentemente non selezionato libhttp-parser2.8: amd64.

Preparazione per decomprimere … / 002-libhttp-parser2.8_2.8.1-1_amd64.deb …

Impostazione di node-fstream-ignore (0.0.6-2) …

Configurare node-gyp (3.6.2-2) …

Impostazione di nodi-yarg (10.0.3-2) …

Impostazione di npm (5.8.0 + ds-2) …

Trigger di elaborazione per libc-bin (2.28-0ubuntu1) …

Nella directory client angolare ed esegui npm install.

[Email protected]: ~ / mean / angular-client $ npm installa

> [Email protected] installa / home / geekflare / mean / angular-client / node_modules / uws

> ricostruzione di node-gyp > build_log.txt 2>&1 || uscita 0

> [Email protected] installa / home / geekflare / mean / angular-client / node_modules / node-sass

> script nodo / install.js

Download binario da https://github.com/sass/node-sass/releases/download/v4.7.2/linux-x64-57_binding.node

Download completato ] – :

Binario salvato in /home/geekflare/mean/angular-client/node_modules/node-sass/vendor/linux-x64-57/binding.node

Memorizzazione nella cache binaria in /home/geekflare/.npm/node-sass/4.7.2/linux-x64-57_binding.node

> [Email protected] postinstallazione / home / geekflare / mean / angular-client / node_modules / webpack / node_modules / uglifyjs-webpack-plugin

> nodo lib / post_install.js

> [Email protected] postinstall / home / geekflare / mean / angular-client / node_modules / node-sass

> script del nodo / build.js

Binario trovato su /home/geekflare/mean/angular-client/node_modules/node-sass/vendor/linux-x64-57/binding.node

Test binario

Il binario va bene

aggiunti 1457 pacchetti da 1250 collaboratori in 80.009s

Ora vai su express directory ed esegui npm install.

[Email protected]: ~ / mean / client angolare $ cd ..

[Email protected]: ~ / mean $ cd express-server /

[Email protected]: ~ / mean / express-server $ npm installa

Ora che tutto è impostato, è ora di eseguire il file docker-compose.yml che avvierà tutti i contenitori docker ed eseguirà l’applicazione stack MEAN.

[Email protected]: ~ / mean / express-server $ cd ..

[Email protected]: ~ / mean $ docker-compose up

Creare una rete "mean_default" con il driver predefinito

Costruire angolare

Passaggio 1/8: nodo DA: 8

8: estrazione dalla libreria / nodo

a4d8138d0f6b: pull completato

dbdc36973392: pull completato

f59d6d019dd5: pull completato

aaef3e026258: pull completato

6e454d3b6c28: pull completato

c717a7c205aa: pull completo

37add8e5ac11: pull completo

0314ab675d31: pull completato

012886364728: pull completato

Digest: sha256: 310db2abcff097ef44af205d81833282a6d5471002a1b59d7b7459a74152c856

Stato: immagine più recente scaricata per il nodo: 8

—> 8e45c884a32e

Passaggio 2/8: ESEGUIRE mkdir -p / var / www / app

—> In esecuzione in c70a0cab7994

Rimozione del contenitore intermedio c70a0cab7994

—> 001c5e840b24

Passaggio 3/8: WORKDIR / var / www / app

—> In esecuzione in 622ebdc41b2f

Rimozione del contenitore intermedio 622ebdc41b2f

—> baa2e2347259

Passaggio 4/8: COPIA package.json / var / www / app

—> 5b97543befab

Passaggio 5/8: RUN npm install

—> In esecuzione in 73e3d8b7a701

> [Email protected] installa / var / www / app / node_modules / uws

> ricostruzione di node-gyp > build_log.txt 2>&1 || uscita 0

> [Email protected] installa / var / www / app / node_modules / node-sass

> script nodo / install.js

Download binario da https://github.com/sass/node-sass/releases/download/v4.12.0/linux-x64-57_binding.node

Download completato

Binario salvato in /var/www/app/node_modules/node-sass/vendor/linux-x64-57/binding.node

Memorizzazione nella cache binaria in /root/.npm/node-sass/4.12.0/linux-x64-57_binding.node

> [Email protected] postinstall / var / www / app / node_modules / core-js

> script nodo / postinstallazione || eco "ignorare"

Il progetto ha bisogno del tuo aiuto! Si prega di considerare il supporto di core-js su Open Collective o Patreon:

> https://opencollective.com/core-js

> https://www.patreon.com/zloirock

> [Email protected] postinstall / var / www / app / node_modules / webpack / node_modules / uglifyjs-webpack-plugin

> nodo lib / post_install.js

> [Email protected] postinstall / var / www / app / node_modules / node-sass

> script del nodo / build.js

Binario trovato su /var/www/app/node_modules/node-sass/vendor/linux-x64-57/binding.node

Test binario

Il binario va bene

ha aggiunto 1606 pacchetti da 1329 collaboratori e verificato 15092 pacchetti in 112.427s

Rimozione del contenitore intermedio 73e3d8b7a701

—> 55790d2fae93

Passaggio 6/8: COPIA. / Var / www / app

—> 61537aa487f4

Step 7/8: EXPOSE 4200

—> In esecuzione in 632eedc35a45

Rimozione del contenitore intermedio 632eedc35a45

—> 51e75b0e2ebe

Passaggio 8/8: CMD ["npm", "inizio"]

—> In esecuzione in 36bbb12a0d38

Rimozione del contenitore intermedio 36bbb12a0d38

—> 9f8d61db600c

Costruito con successo 9f8d61db600c

Taggato mean_angular: più recente

Pulling database (mongo :)…

ultimo: estrazione dalla libreria / mongo

35b42117c431: pull completo

ad9c569a8d98: pull completato

293b44f45162: pull completato

0c175077525d: pull completato

4e73525b52ba: pull completo

a22695a3f5e9: pull completato

c5175bcf2977: pull completo

3e320da07793: pull completato

01c6db6b2b5a: pull completato

3bd6e9d03e78: pull completato

e03dcf51513f: pull completato

c1956a9e136a: pull completo

4c35cf22b1d5: pull completato

Edificio espresso

Passaggio 1/9: nodo DA: 8

—> 8e45c884a32e

Passaggio 2/9: ESEGUIRE mkdir -p / var / www / app

—> Usando la cache

—> 001c5e840b24

Passaggio 3/9: WORKDIR / var / www / app

—> Usando la cache

—> baa2e2347259

Passaggio 4/9: COPIA package.json / var / www / app

—> 0232ad53c679

Passaggio 5/9: RUN npm install

—> In esecuzione in c309bf6f218e

ha aggiunto 128 pacchetti da 151 collaboratori e verificato 233 pacchetti in 9.055s

Rimozione del contenitore intermedio c309bf6f218e

—> 49e652884562

Passaggio 6/9: ESEGUI npm installa -g nodemon

—> In esecuzione in 0ed5d7f3642b

/ Usr / local / bin / nodemon -> /usr/local/lib/node_modules/nodemon/bin/nodemon.js

> [Email protected] postinstall / usr / local / lib / node_modules / nodemon

> bin bin / postinstall || uscita 0

Ti piace nodemon? Ora puoi supportare il progetto tramite il collettivo aperto:

> https://opencollective.com/nodemon/donate

+ [Email protected]

aggiunti 221 pacchetti da 128 collaboratori in 18.856

Rimozione del contenitore intermedio 0ed5d7f3642b

—> 32c55606f35e

Passaggio 7/9: COPIA. / Var / www / app

—> a618b38a2812

Passaggio 8/9: EXPOSE 3000

—> In esecuzione in bea389ab3ef1

Rimozione del contenitore intermedio bea389ab3ef1

—> 684bbfb31371

Passaggio 9/9: CMD ["npm", "inizio"]

—> In esecuzione in 9aa1b72e4a4e

Rimozione del contenitore intermedio 9aa1b72e4a4e

—> 35dcb3df9806

35dcb3df9806 costruito con successo

Mean_express taggato con successo: ultimo

Creazione mean_angular_1_de44b3f5b988 … terminata

Creazione mean_database_1_708f8f9c3c33 … terminata

Creazione mean_express_1_b57a483a72ee … terminata

Collegamento a mean_angular_1_f257e2233ef1, mean_database_1_ccc5c677e00b, mean_express_1_574f07b045fc

angular_1_f257e2233ef1 |

angular_1_f257e2233ef1 | > [Email protected] start / var / www / app

angular_1_f257e2233ef1 | > di servire -H 0.0.0.0

angular_1_f257e2233ef1 |

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.933 + 0000 I CONTROL [main] Disabilitazione automatica di TLS 1.0, per forzare abilitare TLS 1.0 specificare –sslDisabledProtocols ‘none’

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 I CONTROL [initandlisten] Inizio MongoDB: pid = 1 porta = 27017 dbpath = / data / db host a 64 bit = f74b56905249

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 I CONTROL [initandlisten] versione db v4.0.10

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 I CONTROL [initandlisten] versione git: c389e7f69f637f7a1ac3cc9fae843b635f20b766

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 I CONTROL [initandlisten] Versione OpenSSL: OpenSSL 1.0.2g 1 mar 2016

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 I CONTROL [initandlisten] allocatore: tcmalloc

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 I CONTROL [initandlisten] moduli: nessuno

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 I CONTROL [initandlisten] ambiente di costruzione:

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 I CONTROL [initandlisten] distmod: ubuntu1604

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 I CONTROL [initandlisten] distarch: x86_64

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 I CONTROL [initandlisten] target_arch: x86_64

database_1_ccc5c677e00b | 2019-07-20T22: 33: 25.937 + 0000 I CONTROL [initandlisten] opzioni: {net: {bindIpAll: true}}

express_1_574f07b045fc |

express_1_574f07b045fc | > [Email protected] start / var / www / app

express_1_574f07b045fc | > nodemon ./bin/www

express_1_574f07b045fc |

express_1_574f07b045fc | [nodemon] 1.19.1

express_1_574f07b045fc | [nodemon] per riavviare in qualsiasi momento, inserire `rs`

express_1_574f07b045fc | [nodemon] guardando: *. *

express_1_574f07b045fc | [nodemon] che avvia `node. / bin / www`

database_1_ccc5c677e00b | 2019-07-20T22: 33: 33.543 + 0000 I NETWORK [listener] connessione accettata da 172.19.0.4:38958 # 1 (1 connessione ora aperta)

database_1_ccc5c677e00b | 2019-07-20T22: 33: 33.560 + 0000 I NETWORK [conn1] ha ricevuto i metadati del client da 172.19.0.4:38958 conn1: {driver: {name: "nodejs", versione: "3.0.1" }, os: {tipo: "Linux", nome: "linux", architettura: "x64", versione: "4.18.0-25-generic" }, piattaforma: "Node.js v8.16.0, LE, mongodb-core: 3.0.1" }

express_1_574f07b045fc | mongodb: connesso

angular_1_f257e2233ef1 | ** NG Live Development Server è in ascolto su 0.0.0.0:4200, apri il browser su http: // localhost: 4200 / **

angular_1_f257e2233ef1 | Data: 2019-07-21T11: 21: 03.868Z – Hash: 639d9a968476ed482b5c – Tempo: 336ms

angular_1_f257e2233ef1 | 4 pezzi invariati

angular_1_f257e2233ef1 | chunk {main} main.bundle.js (main) 19,8 kB [iniziale] [reso]

angular_1_f257e2233ef1 |

angular_1_f257e2233ef1 | webpack: compilato con successo.

angular_1_f257e2233ef1 | webpack: compilazione…

angular_1_f257e2233ef1 | Data: 2019-07-21T11: 25: 15.661Z – Hash: e5a2b1c1afe0deb396c3 – Tempo: 251ms

angular_1_f257e2233ef1 | 4 pezzi invariati

angular_1_f257e2233ef1 | chunk {main} main.bundle.js (main) 19,8 kB [iniziale] [reso]

angular_1_f257e2233ef1 |

angular_1_f257e2233ef1 | webpack: compilato con successo.

Vai al tuo browser e controlla https: // localhost: 4200, l’applicazione sarà attiva e funzionante.

angolare - composizione docker

Vai a https: // localhost: 3000 per verificare se un server express è in esecuzione.

express - docker compose

Inoltre, è possibile eseguire il comando delle immagini della finestra mobile per vedere quali immagini sono presenti nella finestra mobile.

[Email protected]: ~ / mean $ immagini docker

DIMENSIONE IMMAGINE TAG IMMAGINE REPOSITORIA

mean_express più recente 35dcb3df9806 14 ore fa 923 MB

mean_angular latest 9f8d61db600c 14 ore fa 1.29GB

nodo 8 8e45c884a32e 9 giorni fa 895MB

mongo latest 785c65f61380 2 settimane fa 412MB

Eseguire il comando seguente per vedere i contenitori in esecuzione all’interno della finestra mobile.

[Email protected]: ~ / mean $ docker ps

NOME DEI PORTI DI STATO CREATI SUL COMANDO IMMAGINE ID CONTENITORE

681c9c34bee2 mean_express        "docker-entrypoint.s …"   14 ore fa Su 14 ore 0.0.0.0:3000->3000 / tcp mean_express_1_574f07b045fc

f74b56905249 mongo               "docker-entrypoint.s …"   14 ore fa Su 14 ore 0.0.0.0:27017->27017 / tcp mean_database_1_ccc5c677e00b

260ef1e52dab mean_angular        "docker-entrypoint.s …"   14 ore fa Su 14 ore 0.0.0.0:4200->4200 / tcp mean_angular_1_f257e2233ef1

Quindi ora, tutti e tre i contenitori docker sono attivi e funzionanti.

Docker-compose si è occupato della gestione di tutti i container con facilità. Questo è stato un semplice esempio per l’esecuzione di tre container; puoi immaginare quanto sarà utile se le applicazioni devono essere lanciate su centinaia di container. Vai avanti e prova a vedere come funziona.

TAGS:

  • docker

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map