Vraagt u zich af wat Docker Compose is?
Docker is de populairste containerisatie-tool in de DevOps-wereld. Maar wat is Docker Compose?
Docker Compose wordt gebruikt om applicaties te draaien die meerdere containers hebben met behulp van een YAML-bestand
Er kunnen verschillende gevallen zijn waarin de dockerapplicatie meerdere containers voor verschillende technologiestapels moet uitvoeren. Nu kan het bouwen, uitvoeren en verbinden van aparte dockerfiles voor elke container een moeilijke taak zijn; dit is waar docker-compose u uit de brand helpt
Met behulp van een enkel en eenvoudig docker-compose.yml-bestand kunt u alle containers bouwen, verbinden en starten door een enkele opdracht uit te voeren. Dit is erg handig voor bedrijfsapplicaties in productie, waar verschillende applicaties in containers draaien. Het bespaart veel tijd door gemakkelijk 100 applicaties in docker-containers te draaien
Docker Compose installeren
Docker moet al op uw systeem geïnstalleerd zijn voordat u compose installeert
Voer de onderstaande opdracht uit om docker-compose te installeren
geekflare@geekflare:/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
<x>[sudo]</x> wachtwoord voor geekflare:
% Totaal % Ontvangen % Xferd Gemiddelde Snelheid Tijd Tijd Huidig
Dload Upload Totaal Besteed Links Snelheid
100 617 0 617 0 0 1209 0 --:--:-- --:--:--:-- 1209
100 11.1M.1M 100 11.1M 0 0 348k 0 0
:
00:32
0
:00:32 --:--:-- 476k
Voer de onderstaande opdracht uit om de bestandsrechten in te stellen
geekflare@geekflare:/home/geekflare$ sudo chmod x /usr/local/bin/docker-compose
Controleer of het correct is geïnstalleerd, het zou de docker-compose versie moeten teruggeven
geekflare@geekflare:/home/geekflare$ docker-compose --version
docker-compose versie 1.23.1, build b02f1306
Hieronder vindt u de lijst met commando's die u kunt gebruiken met docker-compose
geekflare@geekflare:/home/geekflare$ docker-compose
Definieer en draai multi-container applicaties met Docker.
Gebruik:
docker-compose [-f <arg>...] [options] [COMMANDO] [ARGS...]
docker-compose -h|--help
Opties:
-f, --file FILE Specificeer een alternatief compose bestand
(standaard: docker-compose.yml)
-p, --project-name NAME Specificeer een alternatieve projectnaam
(standaard: directorynaam)
--verbose Meer uitvoer tonen
--log-level LEVEL Logniveau instellen (DEBUG, INFO, WARNING, ERROR, CRITICAL)
--no-ansi Geen ANSI-besturingstekens afdrukken
-v, --version Versie afdrukken en afsluiten
-H, --host HOST Daemon socket om verbinding mee te maken
--tls TLS gebruiken; geïmpliceerd door -tlsverify
--tlscacert CA_PATH Vertrouw alleen op certificaten die door deze CA zijn ondertekend
--tlscert CLIENT_CERT_PATH Pad naar TLS-certificaatbestand
--tlskey TLS_KEY_PATH Pad naar TLS-sleutelbestand
--tlsverify Gebruik TLS en verifieer de remote
--skip-hostname-check Controleer de hostnaam van de daemon niet aan de hand van de
naam die in het clientcertificaat staat
--project-directory PATH Geef een alternatieve werkdirectory op
(standaard: het pad van het Compose-bestand)
--compatibility Indien ingesteld, zal Compose proberen om
sleutels in v3-bestanden te converteren naar hun niet-Swarm equivalent
Opdrachten:
build Bouw of herbouw services
bundle Genereer een Docker bundle van het Compose bestand
config Valideer en bekijk het Compose bestand
create Creëer services
down Stop en verwijder containers, netwerken, images, en volumes
events Ontvang realtime-events van containers
exec Voer een commando uit in een draaiende container
help Krijg hulp bij een commando
images Geef images weer
kill Kill containers
logs Bekijk output van containers
pause Pauzeer services
port Print de publieke poort voor een poortbinding
ps Geef containers weer
pull pull service images
push Push service images
restart Start services
rm Verwijder gestopte containers
run Voer een one-uit commando
scale Stel het aantal containers in voor een service
start Start services
stop Stop services
top Toon de lopende processen
unpause Unpause services
up Maak en start containers
version Toon de Docker-Compose versie informatie
Docker Compose-bestand
Hier is een voorbeeld van een docker-compose bestand dat alle magie doet
versie: '3'
services:
web:
build: .
poorten:
- "5000:5000"
redis:
image: "redis:alpine"
De eerste regel in dit bestand specificeert de versie die wordt gebruikt. Dit nummer hangt af van de Docker engine die op uw systeem is geïnstalleerd. Ik heb Docker 18.09.6 geïnstalleerd, wat bij versie 3 van docker-compose hoort. Bekijk hier meer details over versies - https://docs.docker.com/compose/compose-file/compose-versioning/
Dit docker-bestand draait twee services/applicaties, web en Redis. De webservice is gebouwd via een dockerfile en draait op de standaard flask webserverpoort - 5000. De Redis-service draait door het Redis-image uit het docker hub-register te halen
Om het docker-compose.yml bestand uit te voeren, moet u een heel eenvoudig commando uitvoeren: docker-compose omhoog
Docker Compose-workflow
Hieronder vindt u de drie stappen om docker-compose te gebruiken
- Maak dockerfile van elke service
- Maak een docker-compose.yml bestand om alle dockerfiles te verbinden
- Voer het docker-compose up commando uit om het systeem te starten
Laat me een voorbeeld nemen van het voorbeeld docker-compose bestand dat we eerder zagen en u laten zien hoe de projectstructuur zal worden aangemaakt
my-app
|-Web
|---------Dockerfile
|-----redis
|docker-compose
.yml
my-app is mijn hoofdprojectmap. Deze map bevat de web- en Redis-servicemappen en het docker-compose YAML-bestand. Dockerfile van webservice is aanwezig in een webdirectory. Aangezien de Redis-service rechtstreeks van de docker hub wordt gehaald, is er geen dockerfile nodig in de Redis-directory. Zo ziet de docker-compose workflow eruit
Een MEAN Stack-toepassing in containers onderbrengen met Docker Compose
Nu hebt u de fundamentele concepten begrepen. Laat me u een demo tonen over hoe u een MEAN stack applicatie kunt containeriseren met docker-compose
MEAN staat voor MongoDBExpress, Angular en Node.js. Toepassingen die deze services samen gebruiken, worden ook wel een MEAN/Full-stack toepassing genoemd
Voor deze demo draaien we drie docker-containers
- Container 1 - Hoekig
- Container 2 - NodeJS en ExpressJS
- Container 3 - MongoDB
Download de volledige applicatie hier: http://bit.ly/2St7r3A (niet getest voor productie)
Zo ziet mijn docker-compose.yml bestand eruit om deze drie containers te draaien
versie: '3'
services:
angular:
build: angular-client
poorten:
- "4200:4200"
volumes:
- ./angular-client/:/var/www/app
express:
build: express-server
poorten:
- "3000:3000"
volumes:
- ./express-server/:/var/www/app
links:
–
database
database:
image: mongo
poorten:
–
"27017:27017"
- De eerste regel specificeert de docker-compose versie die wordt gebruikt
- We draaien drie diensten - angular, express en database
- De Angular-service wordt gebouwd met behulp van een dockerfile. Deze draait op poort 4200, en het applicatievolume is /var/www/app
- De express-service wordt gebouwd met behulp van een dockerfile. De express server draait op poort 3000 en het volume is /var/www/app
- Database service zal MongoDB image van dockerhub halen en starten op post 27017
Pak het project uit in de homedirectory en ga naar de angular-client directory
geekflare@geekflare:~$ cd mean
geekflare@geekflare:~/mean$ cd angular-client
Voer de onderstaande opdracht uit als u node package manager (npm) niet op uw systeem geïnstalleerd hebt (negeer als het geïnstalleerd is)
geekflare@geekflare:~/mean/angular-client$ sudo apt install npm
<x>[sudo]</x> wachtwoord voor geekflare:
Pakketlijsten lezen... Gedaan
Bouwen van afhankelijkheidsstructuur
Lezen van statusinformatie... Gedaan
De volgende extra pakketten worden geïnstalleerd:
gyp javascript-common libc-ares2 libhttp-parser2.8 libjs-async libjs-inherits libjs-is-typedarray
libjs-jquery libjs-node-uuid libjs-underscore libssl1.0-dev libuv1 libuv1-dev node-abbrev node-ajv
node-ansi node-ansi-color-table node-ansi-regex node-ansi-styles node-ansistyles node-aproba node-archy
node-are-we-there-yet node-async node-aws-sign2 node-balanced-match node-block-stream node-bluebird
node-boom node-brace-expansion node-builtin-modules node-camelcase node-caseless node-chalk node-cliui
node-clone node-co node-color-convert node-color-name node-combined-stream node-concat-map
node-config-chain node-console-control-strings node-cookie-jar node-copy-concurrently node-core-util-is
node-yallist node-yargs node-yargs-parser nodejs nodejs-dev nodejs-doc
Voorgestelde pakketten:
apache2 | lighttpd | httpd node-aws-sign node-oauth-sign node-http-signature debhelper
De volgende NIEUWE pakketten worden geïnstalleerd:
gyp javascript-common libc-ares2 libhttp-parser2.8 libjs-async libjs-inherits libjs-is-typedarray
libjs-jquery libjs-node-uuid libjs-underscore libssl1.0-dev libuv1 libuv1-dev node-abbrev node-ajv
node-ansi node-ansi-color-table node-ansi-regex node-ansi-styles node-ansistyles node-aproba node-archy
node-are-we-there-yet node-async node-aws-sign2 node-balanced-match node-block-stream node-bluebird
0 geüpgraded, 212 nieuw geïnstalleerd, 0 te verwijderen en 233 niet geüpgraded.
U moet 10,5 MB archieven ophalen.
Na deze bewerking wordt 53,6 MB extra schijfruimte gebruikt.
Wilt u doorgaan? [J/N] J
Get:1 http://us.archive.ubuntu.com/ubuntu cosmic/universe amd64 gyp all 0.1 20180428git4d467626-1 [237 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu cosmic/main amd64 javascript-common all 11 [6.066 B]
Get:3 http://us.archive.ubuntu.com/ubuntu cosmic/main amd64 libhttp-parser2.8 amd64 2.8.1-1 [20.8 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu cosmic/universe amd64 libjs-async all 0.8.0-3 [25.4 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu cosmic/universe amd64 libjs-is-typedarray all 1.0.0-2 [2.934 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu cosmic/main amd64 libjs-jquery all 3.2.1-1 [152 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu cosmic/universe amd64 libjs-node-uuid all 1.4.7-5 [11.5 kB]
Get:8 http://us.archive.ubuntu.com/ubuntu cosmic/main amd64 libjs-underscore all 1.8.3~dfsg-1 [59.9 kB]
Get:9 http://us.archive.ubuntu.com/ubuntu cosmic-updates/main amd64 libssl1.0-dev amd64 1.0.2n-1ubuntu6.2 [1.366 kB]
10.5 MB opgehaald in 1min 34s (112 kB/s)
Sjablonen uit pakketten halen: 100%
Eerder niet-geselecteerd pakket gyp selecteren.
(Database lezen ... 180130 bestanden en mappen die momenteel zijn geïnstalleerd.)
Uitpakken voorbereiden .../000-gyp_0.1 20180428git4d467626-1_all.deb ...
Uitpakken van gyp (0.1 20180428git4d467626-1) ...
Het selecteren van het eerder niet-geselecteerde pakket javascript-common.
Klaarmaken om uit te pakken .../001-javascript-common_11_all.deb ...
Uitpakken van javascript-common (11) ...
Eerder niet-geselecteerd pakket libhttp-parser2.8:amd64 selecteren.
Uitpakken voorbereiden .../002-libhttp-parser2.8_2.8.1-1_amd64.deb ...
Het
opzetten van node-fstream-ignore (0.0.6-2) ...
Het opzetten van node-gyp (3.6.2-2) ...
Het opzetten van node-yargs (10.0.3-2) ...
Het opzetten van npm (5.8.0 ds-2) ...
Verwerken van triggers voor libc-bin (2.28-0ubuntu1) ..
Ga naar de angular-client directory en voer npm install uit
geekflare@geekflare:~/mean/angular-client$ npm install
> uws@0.14.5 install /home/geekflare/mean/angular-client/node_modules/uws
> node-gyp rebuild > build_log.txt 2>&1 || exit 0
> node-sass@4.7.2 install /home/geekflare/mean/angular-client/node_modules/node-sass
> node scripts/install.js
Downloadt binair van https://github.com/sass/node-sass/releases/download/v4.7.2/linux-x64-57_binding.node
Download compleet ] - :
Binary opgeslagen in /home/geekflare/mean/angular-client/node_modules/node-sass/vendor/linux-x64-57/binding.node
binary cachen naar /home/geekflare/.npm/node-sass/4.7.2/linux-x64-57_binding.node
> uglifyjs-webpack-plugin@0.4.6 postinstall /home/geekflare/mean/angular-client/node_modules/webpack/node_modules/uglifyjs-webpack-plugin
> node lib/post_install.js
> node-sass@4.7.2 postinstall /home/geekflare/mean/angular-client/node_modules/node-sass
> node scripts/build.js
Binair
gevonden op /home/geekflare/mean/angular-client/node_modules/node-sass/vendor/linux-x64-57/binding.node
Binary testen
Binair
is fine
toegevoegd 1457 packages van 1250 contributors in 80.009s
Ga nu naar de express directory en voer npm install uit
geekflare@geekflare:~/mean/angular-client$ cd ..
geekflare@geekflare:~/mean$ cd express-server/
geekflare@geekflare:~/mean/express-server$ npm install
Nu alles is ingesteld, is het tijd om het docker-compose.yml bestand uit te voeren dat alle docker containers zal starten en de MEAN stack applicatie zal draaien.
geekflare@geekflare:~/mean/express-server$ cd ..
geekflare@geekflare:~/mean$ docker-compose up
Netwerk "mean_default" aanmaken met het standaard stuurprogramma
Angular bouwen
Stap 1/8 : FROM node:8
8: Pulling from library/node
a4d8138d0f6b: Pull complete
dbdc36973392: Pull complete
f59d6d019dd5: Pull complete
aaef3e026258: Pull complete
6e454d3b6c28: Pull complete
c717a7c205aa: Pull complete
37add8e5ac11: Pull complete
0314ab675d31: Pull complete
012886364728: Pull complete
Digest: sha256:310db2abcff097ef44af205d81833282a6d5471002a1b59d7b7459a74152c856
Status: Nieuwere image gedownload voor node:8
--->
8e45c884a32e
Stap 2/8 : RUN mkdir -p /var/www/app
--->
Loopt in c70a0cab7994
Verwijderen tussencontainer c70a0cab7994
--->
001c5e840b24
Stap 3/8 : WORKDIR /var/www/app
--->
Loopt in 622ebdc41b2f
Tussencontainer verwijderen 622ebdc41b2f
--->
baa2e2347259
Stap 4/8 : COPY package.json /var/www/app
--->
5b97543befab
Stap 5/8 : RUN npm install
--->
Loopt in 73e3d8b7a701
> uws@9.14.0 install /var/www/app/node_modules/uws
> node-gyp rebuild > build_log.txt 2>&1 || exit 0
> node-sass@4.12.0 install /var/www/app/node_modules/node-sass
> node scripts/install.js
Het downloaden van binary van https://github.com/sass/node-sass/releases/download/v4.12.0/linux-x64-57_binding.node
Download compleet
Binary opgeslagen in /var/www/app/node_modules/node-sass/vendor/linux-x64-57/binding.node
Caching binary naar /root/.npm/node-sass/4.12.0/linux-x64-57_binding.node
> core-js@2.6.9 postinstall /var/www/app/node_modules/core-js
> node scripts/postinstall || echo "ignore"
Het project heeft uw hulp nodig! Overweeg alstublieft om core-js te steunen op Open Collective of Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock
> uglifyjs-webpack-plugin@0.4.6 postinstall /var/www/app/node_modules/webpack/node_modules/uglifyjs-webpack-plugin
> node lib/post_install.js
> node-sass@4.12.0 postinstall /var/www/app/node_modules/node-sass
> node scripts/build.js
Binary gevonden op /var/www/app/node_modules/node-sass/vendor/linux-x64-57/binding.node
Binary testen
Binary is in orde
1606 packages toegevoegd van 1329 contributors en 15092 packages gecontroleerd in 112.427s
Tussencontainer verwijderen 73e3d8b7a701
--->
55790d2fae93
Stap 6/8 : KOPIEREN . /var/www/app
--->
61537aa487f4
Stap 7/8 : EXPOSE 4200
--->
Draaiend in 632eedc35a45
Tussencontainer verwijderen 632eedc35a45
--->
51e75b0e2ebe
Stap 8/8 : CMD ["npm", "start"]
--->
Loopt in 36bbb12a0d38
Verwijderen van tussencontainer 36bbb12a0d38
--->
9f8d61db600c
Met succes gebouwd 9f8d61db600c
Met succes getagd mean_angular:latest
Pulling database (mongo:)...
latest: Pulling van library/mongo
35b42117c431: Pull compleet
ad9c569a8d98: Pull compleet
293b44f45162: Pull complete
0c175077525d: Pull complete
4e73525b52ba: Pull complete
a22695a3f5e9: Pull complete
c5175bcf2977: Pull complete
3e320da07793: Pull complete
01c6db6b2b5a: Pull complete
3bd6e9d03e78: Pull complete
e03dcf51513f: Pull complete
c1956a9e136a: Pull complete
4c35cf22b1d5: Pull complete
Building express
Stap 1/9 : FROM node:8
--->
8e45c884a32e
Stap 2/9 : RUN mkdir -p /var/www/app
--->
Cache gebruiken
--->
001c5e840b24
Stap 3/9 : WORKDIR /var/www/app
--->
Cache gebruiken
--->
baa2e2347259
Stap 4/9 : COPY package.json /var/www/app
--->
0232ad53c679
Stap 5/9 : RUN npm install
--->
Uitgevoerd in c309bf6f218e
128 pakketten toegevoegd van 151 bijdragers en 233 pakketten gecontroleerd in 9.055s
Tussencontainer verwijderen c309bf6f218e
--->
49e652884562
Stap 6/9 : RUN npm install -g nodemon
--->
Loopt in 0ed5d7f3642b
/usr/local/bin/nodemon -> /usr/local/lib/node_modules/nodemon/bin/nodemon.js
> nodemon@1.19.1 postinstall /usr/local/lib/node_modules/nodemon
> node bin/postinstall || exit 0
Houdt u van nodemon? U kunt het project nu steunen via het open collectief:
> https://opencollective.com/nodemon/donate
nodemon@1.19.1
toegevoegd 221 pakketten van 128 bijdragers in 18.856s
verwijderen tussencontainer 0ed5d7f3642b
--->
32c55606f35e
Stap 7/9 : KOPIEREN . /var/www/app
--->
a618b38a2812
Stap 8/9 : EXPOSE 3000
--->
Draaiend in bea389ab3ef1
Tussencontainer verwijderen bea389ab3ef1
--->
684bbfb31371
Stap 9/9 : CMD ["npm", "start"]
--->
Loopt in 9aa1b72e4a4e
Verwijderen tussencontainer 9aa1b72e4a4e
--->
35dcb3df9806
Succesvol gebouwd 35dcb3df9806
Succesvol getagd mean_express:latest
Maken van mean_angular_1_de44b3f5b988 .... gedaan
mean_database_1_708f8f9c3c33 aanmaken ... gedaan
mean_express_1_b57a483a72ee aanmaken ... done
Koppelen aan mean_angular_1_f257e2233ef1, mean_database_1_ccc5c677e00b, mean_express_1_574f07b045fc
angular_1_f257e2233ef1 |
angular_1_f257e2233ef1 | > my-app@0.0.0 start /var/www/app
angular_1_f257e2233ef1 | > ng serve -H 0.0.0.0
angular_1_f257e2233ef1 |
database_1_ccc5c677e00b | 2019-07-20T22:33:25.933 0000 I CONTROL [ main] Automatisch uitschakelen van TLS 1.0, om TLS 1.0 te forceren specificeer --sslDisabledProtocols 'none'
database_1_ccc5c677e00b | 2019-07-20T22:33:25.937 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x> MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=f74b56905249
database_1_ccc5c677e00b | 2019-07-20T22:33:25.937 0000 I CONTROL [ <x><x><x><x><x><x><x><x><x><x>initandlisten]</x></x></x></x></x></x></x></x></x></x> db versie v4.0.10
database_1_ccc5c677e00b | 2019-07-20T22:33:25.937 0000 I CONTROL [ <x><x><x><x><x><x><x><x><x><x>initandlisten]</x></x></x></x></x></x></x></x></x></x> git versie: c389e7f69f637f7a1ac3cc9fae843b635f20b766
database_1_ccc5c677e00b | 2019-07-20T22:33:25.937 0000 I CONTROL [ <x><x><x><x><x><x><x><x><x><x>initandlisten]</x></x></x></x></x></x></x></x></x></x> OpenSSL versie: OpenSSL 1.0.2g 1 mrt 2016
database_1_ccc5c677e00b | 2019-07-20T22:33:25.937 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x> allocator: tcmalloc
database_1_ccc5c677e00b | 2019-07-20T22:33:25.937 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x> modules: geen
database_1_ccc5c677e00b | 2019-07-20T22:33:25.937 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x> bouwomgeving:
database_1_ccc5c677e00b | 2019-07-20T22:33:25.937 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x> distmod: ubuntu1604
database_1_ccc5c677e00b | 2019-07-20T22:33:25.937 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x> distarch: x86_64
database_1_ccc5c677e00b | 2019-07-20T22:33:25.937 0000 I CONTROL [ <x><x><x><x><x><x><x><x><x><x>initandlisten]</x></x></x></x></x></x></x></x></x></x> target_arch: x86_64
database_1_ccc5c677e00b | 2019-07-20T22:33:25.937 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x> options: { net: { bindIpAll: true } }
express_1_574f07b045fc |
express_1_574f07b045fc | > express-server@0.0.0 start /var/www/app
express_1_574f07b045fc | > nodemon ./bin/www
express_1_574f07b045fc |
express_1_574f07b045fc | <x><x><x>[nodemon]</x></x></x> 1.19.1
express_1_574f07b045fc | <x><x><x>[nodemon]</x></x></x> om op elk moment opnieuw te starten, voert u `rs` in
express_1_574f07b045fc | <x><x><x>[nodemon]</x></x></x> watching: *.*
express_1_574f07b045fc | [ <x><x><x>nodemon</x></x></x> ] starting `node ./bin/www`
database_1_ccc5c677e00b | 2019-07-20T22:33:33.543 0000 I NETWORK [listener] connection accepted from 172.19.0.4:38958 #1 (1 verbinding nu open)
database_1_ccc5c677e00b | 2019-07-20T22:33:33.560 0000 I NETWORK [ conn1] client metadata ontvangen van 172.19.0.4:38958 conn1: { driver: {naam: "nodejs", versie: "3.0.1" }, os: {type: "Linux", naam: "linux", architectuur: "x64", versie: "4.18.0-25-generic" }, platform: "Node.js v8.16.0, LE, mongodb-core: 3.0.1" }
express_1_574f07b045fc | mongodb: connected
angular_1_f257e2233ef1 | ** NG Live Development Server luistert op 0.0.0.0:4200, open uw browser op http://localhost:4200/ **
angular_1_f257e2233ef1 | Datum: 2019-07-21T11:21:03.868Z - Hash: 639d9a968476ed482b5c - Tijd: 336ms
angular_1_f257e2233ef1 | 4 ongewijzigde chunks
angular_1_f257e2233ef1 | chunk {main} main.bundle.js (main) 19.8 kB <x>[initial]</x> <x>[rendered]</x>
angular_1_f257e2233ef1 |
angular_1_f257e2233ef1 | webpack: Met succes gecompileerd.
angular_1_f257e2233ef1 | webpack: Compiling...
angular_1_f257e2233ef1 | Datum: 2019-07-21T11:25:15.661Z - Hash: e5a2b1c1afe0deb396c3 - Tijd: 251ms
angular_1_f257e2233ef1 | 4 ongewijzigde chunks
angular_1_f257e2233ef1 | chunk {main} main.bundle.js (main) 19.8 kB <x>[initial]</x> <x>[rendered]</x>
angular_1_f257e2233ef1 |
angular_1_f257e2233ef1 | webpack: Met succes gecompileerd
Ga naar uw browser en controleer https://localhost:4200, uw toepassing wordt nu uitgevoerd.
Ga naar https://localhost:3000 om te controleren of er een express server draait
U kunt ook het commando docker images uitvoeren om te zien welke images aanwezig zijn in docker
geekflare@geekflare:~/mean$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mean_express latest 35dcb3df9806 14 hours ago 923MB
mean_angular latest 9f8d61db600c 14 hours ago 1.29GB
node 8 8e45c884a32e 9 days ago 895MB
mongo
latest 785c65f61380 2 weeks ago 412MB
Voer de onderstaande opdracht uit om de containers te zien die in docker draaien
geekflare@geekflare:~/mean$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
681c9c34bee2 mean_express "docker-entrypoint.s..." 14 uur geleden Up 14 uur 0.0.0.0:3000->3000/tcp mean_express_1_574f07b045fc
f74b56905249 mongo "docker-entrypoint.s..." 14 uur geleden Omhoog 14 uur 0.0.0.0:27017->27017/tcp mean_database_1_ccc5c677e00b
260ef1e52dab mean_angular "docker-entrypoint.s..." 14 uur geleden Omhoog 14 uur
0
.0.0.0:4200->4200/tcp mean_angular_1_f257e2233ef1
Dus nu zijn alle drie de docker-containers up and running
Docker-compose draaide alle containers met gemak. Dit was een eenvoudig voorbeeld voor het draaien van drie containers; u kunt zich voorstellen hoe handig het zal zijn als de applicaties op 100 containers moeten worden gestart. Probeer het uit om te zien hoe het werkt.
-
Avi is een enthousiast techneut met expertise in trending technologieën zoals DevOps, Cloud Computing, Big Data en nog veel meer. Hij heeft een passie voor het leren van geavanceerde technologieën en het delen van zijn kennis met anderen via... meer lezen