SlideShare uma empresa Scribd logo
1 de 84
Baixar para ler offline
dockerize node.js application
shipping node.js application with docker
김석준 @SOCAR
YOU CAN DOCKERIZE
YOUR APPLICATION TOMORROW
WHY WHAT HOW
WHY WHAT HOW
WHY?
EASIER ENVIRONMENT SETUP
SINGLE-THREADED in MULTI-CORE
FAST AND EASY TO ROLLBACK
MICROSERVICE
VIRTUALIZATION
EASIER ENVIRONMENT SETUP
Application Server
EASIER ENVIRONMENT SETUP
TRADITIONAL WAY
$	curl	-sL	https://deb.nodesource.com/setup_6.x	|	sudo	-E	bash	-	
$	sudo	apt-get	update	
$	sudo	apt-get	install	nodejs	
…	
$	echo	“deb	http://nginx.org/packages/debian/	squeeze	nginx”	>>	/etc/apt/sources.list	
$	echo	“deb-src	http://nginx.org/packages/debian/	squeeze	nginx”	>>	/etc/apt/sources.list	
$	sudo	apt-get	install	nginx	
…	
$	sudo	apt-get	install	ntp	vim	fail2ban	
…	
$	vi	/etc/nginx/site-enabled/node.conf	
$	nginx	-s	reload	
…	
$	mkdir	/home/alma/app	&&	cd	/home/alma/app	
$	git	pull	…	&&	npm	install	
$	npm	run	build	
$	npm	run	serve
EASIER ENVIRONMENT SETUP
Application
Servers
EASIER ENVIRONMENT SETUP
$	curl	-sL	https://deb.nodesource.com/setup_6.x	|	sudo	-E	bash	-	
$	sudo	apt-get	update	
$	sudo	apt-get	install	nodejs	
…	
$	echo	“deb	http://nginx.org/packages/debian/	squeeze	nginx”	>>	/etc/apt/sources.list	
$	echo	“deb-src	http://nginx.org/packages/debian/	squeeze	nginx”	>>	/etc/apt/sources.list	
$	sudo	apt-get	install	nginx	
…	
$	sudo	apt-get	install	ntp	vim	fail2ban	
…	
$	vi	/etc/nginx/site-enabled/node.conf	
$	nginx	-s	reload	
…	
$	mkdir	/home/alma/app	&&	cd	/home/alma/app	
$	git	pull	…	&&	npm	install	
$	npm	run	build	
$	npm	run	serve
X3
TRADITIONAL WAY
EASIER ENVIRONMENT SETUP
Application
Many Servers
EASIER ENVIRONMENT SETUP
“이러려고 개발자 하려고 했나 자괴감 들고 괴로워”
TRADITIONAL WAY
“I really didn’t want to be a developer to do this”
SINGLE-THREADED in MULTI-CORE
MULTICORESingle-threaded
in
SINGLE-THREADED in MULTI-CORE
CLUSTER
var	cluster	=	require('cluster');	
		
if	(cluster.isMaster)	{	
		var	numWorkers	=	require('os').cpus().length;	
		
		console.log('Master	cluster	setting	up	'	+	numWorkers	+	'	workers...');	
		
		for	(var	i	=	0;	i	<	numWorkers;	i++)	{	
				cluster.fork();	
		}	
		
		cluster.on('online',	function(worker)	{	
				console.log('Worker	'	+	worker.process.pid	+	'	is	online');	
		});	
		
		cluster.on('exit',	function(worker,	code,	signal)	{	
				console.log('Worker	'	+	worker.process.pid	+	'	died	with	code:	'	+	code	+	',	and	signal:	'	+	signal);	
				console.log('Starting	a	new	worker');	
				cluster.fork();	
		});	
}	else	{	
		var	app	=	require('express')();	
		app.all('/*',	function(req,	res)	{	
				res.send('process	'	+	process.pid	+	'	says	hello!').end();	
		})	
		
		var	server	=	app.listen(8000,	function()	{	
				console.log('Process	'	+	process.pid	+	'	is	listening	to	all	incoming	requests');	
		});	
}
@https://www.sitepoint.com/how-to-create-a-node-js-cluster-for-speeding-up-your-apps/
SIMPLICITY
SINGLE-THREADED in MULTI-CORE
CLUSTER
TOO COMPLICATED
VIRTUALIZATION
STAGINGDEV
LIVE
PHYSICAL
LIVE
DB
VIRTUALIZATION
STAGINGLOCAL
LIVE
CLOUD
DEV
LIVE
PHYSICAL
LIVE
DB
VIRTUALIZATION
STAGINGLOCAL
LIVE
CLOUD
DEV
LIVE
PHYSICAL
STAGING

DB
LIVE
DB
REPLICA
DB
VIRTUALIZATION
STAGINGLOCAL
LIVE
CLOUD
DEV
LIVE
PHYSICAL
STAGING

DB
REPLICA
DB
LIVE
DB
environment variables
environment variables
environment variables
VIRTUALIZATION
STAGINGLOCAL
LIVE
CLOUD
DEV
LIVE
PHYSICAL
STAGING

DB
REPLICA
DB
environment variables
LIVE
DB #1
LIVE
DB #2
LIVE
CLOUD
LIVE
CLOUD
CRON
environment variables
environment variables
VIRTUALIZATION
UNABLE TO TRACK ENVIRONMENTS
MICROSERVICE
SOCAR
APP
API
BACK
OFFICE
API
ZEROCAR
APP
API
BACK
OFFICE
API
MAKE IT DETACHABLE
MICROSERVICE
BACK
OFFICE
API API
BACK
OFFICE
API API
API
CRON
MAKE IT DETACHABLE
MICROSERVICE
MAKE IT DETACHABLE
BACK
OFFICE
API API
BACK
OFFICE
API API
API
CRON
FAST AND EASY TO ROLLBACK
DEVELOPMENT REQUIREMENT
WE NEED TO ROLLBACK
SERIOUSLY
WHY WHAT HOW
BEFORE WHAT
VM DOCKER
WHAT IS DOCKER?
@http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter01/01
VM DOCKER
WHAT IS DOCKER?
@http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter01/01
WHAT IS DOCKER?
WHAT IS DOCKER?
LIGHT VIRTUAL MACHINE
VMs
SERVER
IMAGE CONTAINER
WHAT IS DOCKER?
MEANWHILE IN DOCKER WORLD
Windows 8 PCs
@CPU by Creative Stall from the Noun Project
WHAT IS DOCKER?
IMAGE
BASE
UBUNTU, ALPINE, CENTOS …
DEPENDENCIES
VIM, CURL, NODE.JS, PYTHON …
APPLICATION
SOURCE CODE, ENVIRONMENT …
START SCRIPT
BASH, MAKEFILE, NPM START …
WHAT IS DOCKER?
CONTAINER
INFORMATION
NAME, PORT …
SETUP
RESTART, DAEMON, LINK …
HOST RELATED
VOLUME, NETWORK …
PROCESS
NODE …
WHY WHAT HOW
EASIER ENVIRONMENT SETUP
UNABLE TO VERSION CONTROL
$	curl	-sL	https://deb.nodesource.com/setup_6.x	|	sudo	-E	bash	-	
$	sudo	apt-get	update	
$	sudo	apt-get	install	nodejs	
…	
$	echo	“deb	http://nginx.org/packages/debian/	squeeze	nginx”	>>	/etc/apt/sources.list	
$	echo	“deb-src	http://nginx.org/packages/debian/	squeeze	nginx”	>>	/etc/apt/sources.list	
$	sudo	apt-get	install	nginx	
…	
$	sudo	apt-get	install	ntp	vim	fail2ban	
…	
$	vi	/etc/nginx/site-enabled/node.conf	
$	nginx	-s	reload	
…	
$	mkdir	/home/alma/app	&&	cd	/home/alma/app	
$	git	pull	…	&&	npm	install	
$	npm	run	build	
$	npm	run	serve
EASIER ENVIRONMENT SETUP
DOCKERIZED WAY
FROM	node:6	
RUN		
		apt-get	update	--force-yes	-y	&&		
		mkdir	-p	/src	
COPY	package.json	/src/package.json	
RUN		
		apt-get	update	--force-yes	-y	&&		
		apt-get	install	--force-yes	-y	vim	
RUN		
		cd	/src;	npm	install	--production	
COPY	.	/src	
RUN		
		cd	/src;	npm	run	build	
EXPOSE	3000	
ENV	NODE_ENV	production	
ENV	DB	live	
ENV	TZ	Asia/Seoul	
WORKDIR	/src	
CMD	npm	run	serve
Dockerfile
EASIER ENVIRONMENT SETUP
DOCKERIZED WAY
$	docker	build	-t	node-docker	.	
$	docker	images	
REPOSITORY					TAG								IMAGE	ID									CREATED																SIZE			
node-docker				latest					08a5b1c92fcf					About	a	minute	ago					654.5	MB
EASIER ENVIRONMENT SETUP
OFFICIAL NODE Dockerfile
FROM	buildpack-deps:jessie	
RUN	groupadd	-r	node	&&	useradd	-r	-g	node	node	
#	gpg	keys	listed	at	https://github.com/nodejs/node	
RUN	set	-ex		
		&&	for	key	in		
				9554F04D7259F04124DE6B476D5A82AC7E37093B	94AE36675C464D64BAFA68DD7434390BDBE9B9C5		
				0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93	FD3A5288F042B6850C66B31F09FE44734EB7990E		
				71DCFD284A79C3B38668286BC97EC7A07EDE3FC1	DD8F2338BAE7501E3DD5AC78C273792F7D83545D		
				B9AE9905FFD7803F25714661B63B535A4C206CA9	C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8		
		;	do		
				gpg	--keyserver	ha.pool.sks-keyservers.net	--recv-keys	"$key";		
		done	
ENV	NPM_CONFIG_LOGLEVEL	info	
ENV	NODE_VERSION	6.9.1	
RUN	curl	-SLO	"https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz"		
		&&	curl	-SLO	"https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc"		
		&&	gpg	--batch	--decrypt	--output	SHASUMS256.txt	SHASUMS256.txt.asc		
		&&	grep	"	node-v$NODE_VERSION-linux-x64.tar.xz$"	SHASUMS256.txt	|	sha256sum	-c	-		
		&&	tar	-xJf	"node-v$NODE_VERSION-linux-x64.tar.xz"	-C	/usr/local	--strip-components=1		
		&&	rm	"node-v$NODE_VERSION-linux-x64.tar.xz"	SHASUMS256.txt.asc	SHASUMS256.txt		
		&&	ln	-s	/usr/local/bin/node	/usr/local/bin/nodejs	
CMD	[	"node"	]	
Dockerfile
EASIER ENVIRONMENT SETUP
DOCKERIZED WAY
$	docker	images	
REPOSITORY					TAG								IMAGE	ID									CREATED																SIZE			
node-docker				latest					08a5b1c92fcf					About	a	minute	ago					654.5	MB			
$	docker	run	--name	docker-instance-1	--port	80:3000	node-docker
SINGLE-THREADED in MULTI-CORE
EASY TO SCALE
$	docker	images	
REPOSITORY					TAG								IMAGE	ID									CREATED																SIZE			
node-docker				latest					08a5b1c92fcf					About	a	minute	ago					654.5	MB			
$	docker	run	--name	docker-instance-1	--port	80:3000	node-docker	
$	docker	run	--name	docker-instance-2	--port	81:3000	node-docker	
$	docker	run	--name	docker-instance-3	--port	82:3000	node-docker	
.	
.	
.
SINGLE-THREADED in MULTI-CORE
EASY TO SCALE
http	{	
		upstream	application	{	
				least_conn;	
				server	localhost:80	max_fails=3	fail_timeout=60s;	
				server	localhost:81	max_fails=3	fail_timeout=60s;	
				server	localhost:82	max_fails=3	fail_timeout=60s;	
		}	
		server	{	
				listen	80;	
				location	/	{	
						proxy_pass	http://application;	
						proxy_http_version	1.1;	
						proxy_set_header	Upgrade	$http_upgrade;	
						proxy_set_header	Connection	'upgrade';	
						proxy_set_header	Host	$host;	
						proxy_cache_bypass	$http_upgrade;	
				}	
		}	
}
nginx.conf
MICROSERVICE
DOCKER-COMPOSE
version:	'2'	
services:	
		application:	
				container_name:	application	
				image:	node-docker
docker-compose.yml
MICROSERVICE
DOCKER-COMPOSE
version:	'2'	
services:	
		application:	
				container_name:	application	
				image:	node-docker	
		redis:	
				container_name:	redis	
				image:	redis	
docker-compose.yml
MICROSERVICE
DOCKER-COMPOSE
version:	'2'	
services:	
		application:	
				container_name:	application	
				image:	node-docker	
		redis:	
				container_name:	redis	
				image:	redis	
		nginx:	
				container_name:	nginx	
				image:	nginx	
				ports:	
						-	80:80	
						-	443:443
docker-compose.yml
MICROSERVICE
DOCKER-COMPOSE
version:	'2'	
services:	
		application:	
				container_name:	application	
				image:	node-docker	
		application-alt:	
				container_name:	application	
				image:	node-docker	
		redis:	
				container_name:	redis	
				image:	redis	
		nginx:	
				container_name:	nginx	
				image:	nginx	
				ports:	
						-	80:80	
						-	443:443
docker-compose.yml
MICROSERVICE
DOCKER-COMPOSE
version:	'2'	
services:	
		application:	
				container_name:	application	
				image:	node-docker	
		application-alt:	
				container_name:	application	
				image:	node-docker	
		redis:	
				container_name:	redis	
				image:	redis	
		nginx:	
				container_name:	nginx	
				build:	./nginx	
				restart:	always	
				links:	
						-	application-1:application	
						-	application-2:application-alt	
				ports:	
						-	80:80	
						-	443:443	
				depends_on:	
						-	application	
						-	application-alt	
docker-compose.yml
FAST AND EASY TO ROLLBACK
BUILD WITH TAG
$	docker	build	-t	node-docker	.	
$	docker	images	
REPOSITORY					TAG								IMAGE	ID									CREATED																SIZE			
node-docker				latest					08a5b1c92fcf					About	an	hour	ago						654.5	M	
$	docker	build	-t	node-docker:1982	.	
$	docker	images	
REPOSITORY					TAG								IMAGE	ID									CREATED																SIZE			
node-docker				latest					08a5b1c92fcf					About	an	hour	ago						654.5	MB			
node-docker				1982							10394kdfksf1					About	a	minute	ago					654.5	MB
FAST AND EASY TO ROLLBACK
BUILD WITH TAG
$	docker	build	-t	node-docker	.	
$	docker	images	
REPOSITORY					TAG								IMAGE	ID									CREATED																SIZE			
node-docker				latest					08a5b1c92fcf					About	an	hour	ago						654.5	M	
$	docker	build	-t	node-docker:1982	.	
$	docker	images	
REPOSITORY					TAG								IMAGE	ID									CREATED																SIZE			
node-docker				latest					08a5b1c92fcf					About	an	hour	ago						654.5	MB			
node-docker				1982							10394kdfksf1					About	a	minute	ago					654.5	MB
FAST AND EASY TO ROLLBACK
FAST AND EASY TO ROLLBACK
DOCKER HUB
https://hub.docker.com/r/library/node/tags/
WHY WHAT HOW
YOU CAN DOCKERIZE
YOUR APPLICATION TOMORROW
$	npm	init	-f	
$	npm	i	-S	express	uuid
DOCKERIZE
START WITH EXPRESS
DOCKERIZE
START WITH EXPRESS
var	express	=	require('express');			
var	uuid	=	require('uuid');	
var	app	=	express();			
var	id	=	uuid.v4();			
var	port	=	3000;	
app.get('/',	function	(req,	res)	{			
		res.send(id)	
});	
app.listen(port,	function	()	{			
		console.log('Example	app	listening	on	port:	'	+	port);	
});	
index.js
DOCKERIZE
BUILD DOCKER IMAGE
node_modules/	
.dockerignore
DOCKERIZE
FROM	node:6			
COPY	package.json	/src/package.json			
RUN		cd	/src;	npm	install			
COPY	.	/src			
EXPOSE	3000			
WORKDIR	/src	
CMD	node	index.js
Dockerfile
BUILD DOCKER IMAGE
$	docker	build	--tag	node-nginx:test	.	
Sending	build	context	to	Docker	daemon	7.168	kB			
Step	1	:	FROM	node:6			
6:	Pulling	from	library/node			
357ea8c3d80b:	Already	exists			
52befadefd24:	Already	exists			
3c0732d5313c:	Pull	complete			
ceb711c7e301:	Pull	complete			
868b1d0e2aad:	Pull	complete			
61d10f626f84:	Pull	complete			
Digest:	sha256:12899eea666e85f23e9850bd3c309b1ee28dd0869f554a7a6895fc962d9094a3			
Status:	Downloaded	newer	image	for	node:6			
	--->	800da22d0e7b	
Step	2	:	COPY	package.json	/src/package.json			
	--->	7f3344975b1e	
Removing	intermediate	container	ae1d0482e982			
Step	3	:	RUN	cd	/src;	npm	install	--production			
	--->	Running	in	222a0585301b	
...	
Successfully	built	08a5b1c92fcf			
BUILD DOCKER IMAGE
DOCKERIZE
$	docker	run	--name	node-nginx-instance	-p	3000:3000	node-nginx:test	
Example	app	listening	on	port:	3000			
$	docker	ps	
CONTAINER	ID			IMAGE												COMMAND																		CREATED														STATUS														PORTS																				
NAMES			
30179995521c			node-nginx:test		"/bin/sh	-c	'node	ind"			About	a	minute	ago			Up	About	a	minute			0.0.0.0:3000->3000/
tcp			node-nginx-instance			
BUILD DOCKER IMAGE
DOCKERIZE
$	docker	run	-d	--name	node-nginx-instance-0	-p	3000:3000	node-nginx:test	
$	docker	run	-d	--name	node-nginx-instance-1	-p	3001:3000	node-nginx:test	
$	docker	run	-d	--name	node-nginx-instance-2	-p	3002:3000	node-nginx:test
RUN 3 DOCKER CONTAINER
DOCKERIZE
worker_processes	1;	
events	{	worker_connections	1024;	}	
http	{			
		upstream	node-app	{	
				least_conn;	
				server	localhost:3000;	
				server	localhost:3001;	
				server	localhost:3002;	
		}	
		server	{	
				listen	80;	
				location	/	{	
						proxy_pass	http://node-app;	
						proxy_http_version	1.1;	
						proxy_set_header	Upgrade	$http_upgrade;	
						proxy_set_header	Connection	'upgrade';	
						proxy_set_header	Host	$host;	
						proxy_cache_bypass	$http_upgrade;	
				}	
		}	
}	
LOAD-BALANCING WITH NGINX
nginx/nginx.conf
DOCKERIZE
FROM	nginx			
COPY	nginx.conf	/etc/nginx/nginx.conf			
LOAD-BALANCING WITH NGINX
nginx/Dockerfile
DOCKERIZE
$	docker	build	--tag	node-nginx-lb:test	.	
$	docker	run	-d	--name	node-nginx-instance-lb	-p	4000:80	node-nginx-lb:test	
LOAD-BALANCING WITH NGINX
DOCKERIZE
DOCKERIZE
NOOOOOOOOT WORKING
WHAT THE…
DOCKERIZE
I RUINED PLAYNODE
$	docker	rm	-f	$(docker	ps	-a	-q)
LINK CONTAINERS
DOCKERIZE
version:	'2'	
services:			
		nginx:	
				container_name:	node-nginx-lb	
				build:	./nginx	
				links:	
						-	app-1:app-1	
						-	app-2:app-2	
						-	app-3:app-3	
				ports:	
						-	3000:80	
				depends_on:	
						-	app-1	
						-	app-2	
						-	app-3	
		app-1:	
				container_name:	node-nginx-1	
				image:	node-nginx:test	
				ports:	
						-	3000	
		app-2:	
				container_name:	node-nginx-2	
				image:	node-nginx:test	
				ports:	
						-	3000	
LINK CONTAINERS
DOCKERIZE
		app-3:	
				container_name:	node-nginx-3	
				image:	node-nginx:test	
				ports:	
						-	3000
docker-compose.yml
...	
upstream	node-app	{	
		least_conn;	
		server	app-1:3000	max_fails=3	fail_timeout=30s;	
		server	app-2:3000	max_fails=3	fail_timeout=30s;	
		server	app-3:3000	max_fails=3	fail_timeout=30s;	
}	
...
LINK CONTAINERS
DOCKERIZE
nginx/nginx.conf
$	cd	..	
$	docker-compose	up	
Recreating	node-nginx-3			
Recreating	node-nginx-1			
Recreating	node-nginx-2			
Recreating	node-nginx-lb			
Attaching	to	node-nginx-1,	node-nginx-2,	node-nginx-3,	node-nginx-lb			
node-nginx-1	|	Example	app	listening	on	port:	3000			
node-nginx-2	|	Example	app	listening	on	port:	3000			
node-nginx-3	|	Example	app	listening	on	port:	3000			
node-nginx-lb	|	172.19.0.1	-	-	[22/Aug/2016:16:07:32	+0000]	"GET	/	HTTP/1.1"	200	36	"-"	"Mozilla/5.0	(Macintosh;	
Intel	Mac	OS	X	10_12)	AppleWebKit/602.1.50	(KHTML,	like	Gecko)	Version/10.0	Safari/602.1.50"			
node-nginx-lb	|	172.19.0.1	-	-	[22/Aug/2016:16:07:32	+0000]	"GET	/	HTTP/1.1"	200	36	"-"	"Mozilla/5.0	(Macintosh;	
Intel	Mac	OS	X	10_12)	AppleWebKit/602.1.50	(KHTML,	like	Gecko)	Version/10.0	Safari/602.1.50"			
node-nginx-lb	|	172.19.0.1	-	-	[22/Aug/2016:16:07:33	+0000]	"GET	/	HTTP/1.1"	200	36	"-"	"Mozilla/5.0	(Macintosh;	
Intel	Mac	OS	X	10_12)	AppleWebKit/602.1.50	(KHTML,	like	Gecko)	Version/10.0	Safari/602.1.50"			
node-nginx-lb	|	172.19.0.1	-	-	[22/Aug/2016:16:07:33	+0000]	"GET	/	HTTP/1.1"	200	36	"-"	"Mozilla/5.0	(Macintosh;	
Intel	Mac	OS	X	10_12)	AppleWebKit/602.1.50	(KHTML,	like	Gecko)	Version/10.0	Safari/602.1.50"			
LINK CONTAINERS
DOCKERIZE
DOCKERIZE
AND THEN…
CLUSTERING
CONTAINER ORCHESTRATION
SWARM KUBERNATES
CLUSTERING
DOCKER SWARM
MONITORING
DOCKER STATS
$	docker	stats	determined_shockley	determined_wozniak	prickly_hypatia	
CONTAINER													CPU	%															MEM	USAGE/LIMIT							MEM	%															NET	I/O	
determined_shockley			0.00%															884	KiB/1.961	GiB					0.04%															648	B/648	B	
determined_wozniak				0.00%															1.723	MiB/1.961	GiB			0.09%															1.266	KiB/648	B	
prickly_hypatia							0.00%															740	KiB/1.961	GiB					0.04%															1.898	KiB/648	B
MONITORING
KITEMATIC FOR MAC (BETA)
MONITORING
DATADOG
CLOUD
DOCKER CLOUD
CLOUD
AWS ECS
– from Twitter
“Dockerize all the things!”
WE ARE HIRING
http://socar.recruiter.co.kr
alma@socar.kr
colus001@me.com
http://seokjun.kr

Mais conteúdo relacionado

Mais procurados

Ansible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaAnsible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaJuan Diego Pereiro Arean
 
HotPush with Ionic 2 and CodePush
HotPush with Ionic 2 and CodePushHotPush with Ionic 2 and CodePush
HotPush with Ionic 2 and CodePushEvan Schultz
 
DevOps - Infrastructure as Code by Andre Marcelo-Tanner
DevOps - Infrastructure as Code by Andre Marcelo-TannerDevOps - Infrastructure as Code by Andre Marcelo-Tanner
DevOps - Infrastructure as Code by Andre Marcelo-TannerDEVCON
 
The Play Framework at LinkedIn
The Play Framework at LinkedInThe Play Framework at LinkedIn
The Play Framework at LinkedInYevgeniy Brikman
 
Hosting Your Own OTA Update Service
Hosting Your Own OTA Update ServiceHosting Your Own OTA Update Service
Hosting Your Own OTA Update ServiceQuinlan Jung
 
Getting Started with Ansible
Getting Started with AnsibleGetting Started with Ansible
Getting Started with AnsibleAhmed AbouZaid
 
Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...
Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...
Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...Max Andersen
 
Launch Arguments & NSUserDefaults by Franck Lefebvre
Launch Arguments & NSUserDefaults by Franck LefebvreLaunch Arguments & NSUserDefaults by Franck Lefebvre
Launch Arguments & NSUserDefaults by Franck LefebvreCocoaHeads France
 
AWS Developer Fundamentals
AWS Developer FundamentalsAWS Developer Fundamentals
AWS Developer FundamentalsJosh Padnick
 
Jazoon12 355 aleksandra_gavrilovska-1
Jazoon12 355 aleksandra_gavrilovska-1Jazoon12 355 aleksandra_gavrilovska-1
Jazoon12 355 aleksandra_gavrilovska-1Netcetera
 
Containerizing a Web Application with Vue.js and Java
Containerizing a Web Application with Vue.js and JavaContainerizing a Web Application with Vue.js and Java
Containerizing a Web Application with Vue.js and JavaJadson Santos
 
Configuration Management in a Containerized World
Configuration Management in a Containerized WorldConfiguration Management in a Containerized World
Configuration Management in a Containerized WorldJulian Dunn
 
Web application development using Play Framework (with Java)
Web application development using Play Framework (with Java)Web application development using Play Framework (with Java)
Web application development using Play Framework (with Java)Saeed Zarinfam
 
Automatisation in development and testing - within budget
Automatisation in development and testing - within budgetAutomatisation in development and testing - within budget
Automatisation in development and testing - within budgetDavid Lukac
 
Infrastructure = code - 1 year later
Infrastructure = code - 1 year laterInfrastructure = code - 1 year later
Infrastructure = code - 1 year laterChristian Ortner
 
Introduction to Ansible (Pycon7 2016)
Introduction to Ansible (Pycon7 2016)Introduction to Ansible (Pycon7 2016)
Introduction to Ansible (Pycon7 2016)Ivan Rossi
 
Migraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesMigraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesdrupalindia
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API07.pallav
 
Building scala with bazel
Building scala with bazelBuilding scala with bazel
Building scala with bazelNatan Silnitsky
 
Automation Testing
Automation TestingAutomation Testing
Automation TestingRomSoft SRL
 

Mais procurados (20)

Ansible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaAnsible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers Galicia
 
HotPush with Ionic 2 and CodePush
HotPush with Ionic 2 and CodePushHotPush with Ionic 2 and CodePush
HotPush with Ionic 2 and CodePush
 
DevOps - Infrastructure as Code by Andre Marcelo-Tanner
DevOps - Infrastructure as Code by Andre Marcelo-TannerDevOps - Infrastructure as Code by Andre Marcelo-Tanner
DevOps - Infrastructure as Code by Andre Marcelo-Tanner
 
The Play Framework at LinkedIn
The Play Framework at LinkedInThe Play Framework at LinkedIn
The Play Framework at LinkedIn
 
Hosting Your Own OTA Update Service
Hosting Your Own OTA Update ServiceHosting Your Own OTA Update Service
Hosting Your Own OTA Update Service
 
Getting Started with Ansible
Getting Started with AnsibleGetting Started with Ansible
Getting Started with Ansible
 
Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...
Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...
Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...
 
Launch Arguments & NSUserDefaults by Franck Lefebvre
Launch Arguments & NSUserDefaults by Franck LefebvreLaunch Arguments & NSUserDefaults by Franck Lefebvre
Launch Arguments & NSUserDefaults by Franck Lefebvre
 
AWS Developer Fundamentals
AWS Developer FundamentalsAWS Developer Fundamentals
AWS Developer Fundamentals
 
Jazoon12 355 aleksandra_gavrilovska-1
Jazoon12 355 aleksandra_gavrilovska-1Jazoon12 355 aleksandra_gavrilovska-1
Jazoon12 355 aleksandra_gavrilovska-1
 
Containerizing a Web Application with Vue.js and Java
Containerizing a Web Application with Vue.js and JavaContainerizing a Web Application with Vue.js and Java
Containerizing a Web Application with Vue.js and Java
 
Configuration Management in a Containerized World
Configuration Management in a Containerized WorldConfiguration Management in a Containerized World
Configuration Management in a Containerized World
 
Web application development using Play Framework (with Java)
Web application development using Play Framework (with Java)Web application development using Play Framework (with Java)
Web application development using Play Framework (with Java)
 
Automatisation in development and testing - within budget
Automatisation in development and testing - within budgetAutomatisation in development and testing - within budget
Automatisation in development and testing - within budget
 
Infrastructure = code - 1 year later
Infrastructure = code - 1 year laterInfrastructure = code - 1 year later
Infrastructure = code - 1 year later
 
Introduction to Ansible (Pycon7 2016)
Introduction to Ansible (Pycon7 2016)Introduction to Ansible (Pycon7 2016)
Introduction to Ansible (Pycon7 2016)
 
Migraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesMigraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sites
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
Building scala with bazel
Building scala with bazelBuilding scala with bazel
Building scala with bazel
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 

Destaque

신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]Yurim Jin
 
Docker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - GoraeDocker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - GoraeRhio kim
 
Docker for Dummies
Docker for DummiesDocker for Dummies
Docker for DummiesAnders Sveen
 
Dockerize it! @ Codemotion 2016 in Rome
Dockerize it! @ Codemotion 2016 in RomeDockerize it! @ Codemotion 2016 in Rome
Dockerize it! @ Codemotion 2016 in RomeAlessandro Nadalin
 
Dockerize Our Development Machine
Dockerize Our Development MachineDockerize Our Development Machine
Dockerize Our Development MachinePanji Gautama
 
Dockerize everything TopConf Tallinn
Dockerize everything TopConf TallinnDockerize everything TopConf Tallinn
Dockerize everything TopConf TallinnThomas Einwaller
 
Introducing hikebike.
Introducing hikebike.Introducing hikebike.
Introducing hikebike.Seokjun Kim
 
Evaluating the Arc-Flash Protection Benefits of IEC 61850 Communication
Evaluating the Arc-Flash Protection Benefits of IEC 61850 CommunicationEvaluating the Arc-Flash Protection Benefits of IEC 61850 Communication
Evaluating the Arc-Flash Protection Benefits of IEC 61850 CommunicationSchneider Electric
 
Playing with arduino open source h/w for mobile-centric services
Playing with arduino open source h/w for mobile-centric servicesPlaying with arduino open source h/w for mobile-centric services
Playing with arduino open source h/w for mobile-centric servicesJunhyuk Lee
 
아두이노 5강 maker_school
아두이노 5강 maker_school아두이노 5강 maker_school
아두이노 5강 maker_schoolJosh Park
 
아두이노 4강 maker_school
아두이노 4강 maker_school아두이노 4강 maker_school
아두이노 4강 maker_schoolJosh Park
 
강의자료 코딩클럽 아두이노 워크샵-2015.4.11
강의자료 코딩클럽 아두이노 워크샵-2015.4.11강의자료 코딩클럽 아두이노 워크샵-2015.4.11
강의자료 코딩클럽 아두이노 워크샵-2015.4.11SongSup Shin
 
Service Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosService Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosRalf Ernst
 
How to Build Cloud-based Microservice Environments with Docker and VoltDB
How to Build Cloud-based Microservice Environments with Docker and VoltDBHow to Build Cloud-based Microservice Environments with Docker and VoltDB
How to Build Cloud-based Microservice Environments with Docker and VoltDBVoltDB
 
TransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSTransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSLana Kalashnyk
 
아두이노 1강 maker_school
아두이노 1강 maker_school아두이노 1강 maker_school
아두이노 1강 maker_schoolJosh Park
 
아두이노 3강 maker_school
아두이노 3강 maker_school아두이노 3강 maker_school
아두이노 3강 maker_schoolJosh Park
 
MicroService and MicroContainer with Apache Camel
MicroService and MicroContainer with Apache CamelMicroService and MicroContainer with Apache Camel
MicroService and MicroContainer with Apache CamelCharles Moulliard
 
아두이노 2강 maker_school
아두이노 2강 maker_school아두이노 2강 maker_school
아두이노 2강 maker_schoolJosh Park
 
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein MainIntroduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein MainPuja Abbassi
 

Destaque (20)

신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]
 
Docker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - GoraeDocker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - Gorae
 
Docker for Dummies
Docker for DummiesDocker for Dummies
Docker for Dummies
 
Dockerize it! @ Codemotion 2016 in Rome
Dockerize it! @ Codemotion 2016 in RomeDockerize it! @ Codemotion 2016 in Rome
Dockerize it! @ Codemotion 2016 in Rome
 
Dockerize Our Development Machine
Dockerize Our Development MachineDockerize Our Development Machine
Dockerize Our Development Machine
 
Dockerize everything TopConf Tallinn
Dockerize everything TopConf TallinnDockerize everything TopConf Tallinn
Dockerize everything TopConf Tallinn
 
Introducing hikebike.
Introducing hikebike.Introducing hikebike.
Introducing hikebike.
 
Evaluating the Arc-Flash Protection Benefits of IEC 61850 Communication
Evaluating the Arc-Flash Protection Benefits of IEC 61850 CommunicationEvaluating the Arc-Flash Protection Benefits of IEC 61850 Communication
Evaluating the Arc-Flash Protection Benefits of IEC 61850 Communication
 
Playing with arduino open source h/w for mobile-centric services
Playing with arduino open source h/w for mobile-centric servicesPlaying with arduino open source h/w for mobile-centric services
Playing with arduino open source h/w for mobile-centric services
 
아두이노 5강 maker_school
아두이노 5강 maker_school아두이노 5강 maker_school
아두이노 5강 maker_school
 
아두이노 4강 maker_school
아두이노 4강 maker_school아두이노 4강 maker_school
아두이노 4강 maker_school
 
강의자료 코딩클럽 아두이노 워크샵-2015.4.11
강의자료 코딩클럽 아두이노 워크샵-2015.4.11강의자료 코딩클럽 아두이노 워크샵-2015.4.11
강의자료 코딩클럽 아두이노 워크샵-2015.4.11
 
Service Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosService Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache Mesos
 
How to Build Cloud-based Microservice Environments with Docker and VoltDB
How to Build Cloud-based Microservice Environments with Docker and VoltDBHow to Build Cloud-based Microservice Environments with Docker and VoltDB
How to Build Cloud-based Microservice Environments with Docker and VoltDB
 
TransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSTransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MS
 
아두이노 1강 maker_school
아두이노 1강 maker_school아두이노 1강 maker_school
아두이노 1강 maker_school
 
아두이노 3강 maker_school
아두이노 3강 maker_school아두이노 3강 maker_school
아두이노 3강 maker_school
 
MicroService and MicroContainer with Apache Camel
MicroService and MicroContainer with Apache CamelMicroService and MicroContainer with Apache Camel
MicroService and MicroContainer with Apache Camel
 
아두이노 2강 maker_school
아두이노 2강 maker_school아두이노 2강 maker_school
아두이노 2강 maker_school
 
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein MainIntroduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
 

Semelhante a Dockerize node.js application

MeaNstack on Docker
MeaNstack on DockerMeaNstack on Docker
MeaNstack on DockerDaniel Ku
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Ben Hall
 
Docker workshop DevOpsDays Amsterdam 2014
Docker workshop DevOpsDays Amsterdam 2014Docker workshop DevOpsDays Amsterdam 2014
Docker workshop DevOpsDays Amsterdam 2014Pini Reznik
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOpsandersjanmyr
 
Very Early Review - Rocket(CoreOS)
Very Early Review - Rocket(CoreOS)Very Early Review - Rocket(CoreOS)
Very Early Review - Rocket(CoreOS)충섭 김
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierCarlos Sanchez
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slidesDocker, Inc.
 
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Simon Boulet
 
Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Ben Hall
 
Hands-On Session Docker
Hands-On Session DockerHands-On Session Docker
Hands-On Session DockerLinetsChile
 
Pluralsight Webinar: Simplify Your Project Builds with Docker
Pluralsight Webinar: Simplify Your Project Builds with DockerPluralsight Webinar: Simplify Your Project Builds with Docker
Pluralsight Webinar: Simplify Your Project Builds with DockerElton Stoneman
 
mapserver_install_linux
mapserver_install_linuxmapserver_install_linux
mapserver_install_linuxtutorialsruby
 
mapserver_install_linux
mapserver_install_linuxmapserver_install_linux
mapserver_install_linuxtutorialsruby
 
mapserver_install_linux
mapserver_install_linuxmapserver_install_linux
mapserver_install_linuxtutorialsruby
 
mapserver_install_linux
mapserver_install_linuxmapserver_install_linux
mapserver_install_linuxtutorialsruby
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsBen Hall
 
Docker for Ruby Developers
Docker for Ruby DevelopersDocker for Ruby Developers
Docker for Ruby DevelopersAptible
 
Wordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccionWordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccionSysdig
 
Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)Otto Kekäläinen
 

Semelhante a Dockerize node.js application (20)

MeaNstack on Docker
MeaNstack on DockerMeaNstack on Docker
MeaNstack on Docker
 
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
 
Docker workshop DevOpsDays Amsterdam 2014
Docker workshop DevOpsDays Amsterdam 2014Docker workshop DevOpsDays Amsterdam 2014
Docker workshop DevOpsDays Amsterdam 2014
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOps
 
Very Early Review - Rocket(CoreOS)
Very Early Review - Rocket(CoreOS)Very Early Review - Rocket(CoreOS)
Very Early Review - Rocket(CoreOS)
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
 
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
 
Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)
 
Hands-On Session Docker
Hands-On Session DockerHands-On Session Docker
Hands-On Session Docker
 
RDO-Packstack Workshop
RDO-Packstack Workshop RDO-Packstack Workshop
RDO-Packstack Workshop
 
Pluralsight Webinar: Simplify Your Project Builds with Docker
Pluralsight Webinar: Simplify Your Project Builds with DockerPluralsight Webinar: Simplify Your Project Builds with Docker
Pluralsight Webinar: Simplify Your Project Builds with Docker
 
mapserver_install_linux
mapserver_install_linuxmapserver_install_linux
mapserver_install_linux
 
mapserver_install_linux
mapserver_install_linuxmapserver_install_linux
mapserver_install_linux
 
mapserver_install_linux
mapserver_install_linuxmapserver_install_linux
mapserver_install_linux
 
mapserver_install_linux
mapserver_install_linuxmapserver_install_linux
mapserver_install_linux
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 
Docker for Ruby Developers
Docker for Ruby DevelopersDocker for Ruby Developers
Docker for Ruby Developers
 
Wordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccionWordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccion
 
Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)Improving WordPress performance (xdebug and profiling)
Improving WordPress performance (xdebug and profiling)
 

Último

A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 

Último (20)

A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 

Dockerize node.js application