Mais conteúdo relacionado Semelhante a Dockers zero to hero - (medium version) (20) Mais de Nicolas De Loof (19) Dockers zero to hero - (medium version)15. data (memory / disk)
application
services application runtime (JDK)
(virtual) File System
OS kernel
emulation
services Hypervisor
File System (libs, …)
OS kernel
#DV14 #Docker @ndeloof @dgageot
18. data (memory / disk)
application
services application runtime (JDK)
(virtual) File System
OS kernel
emulation
services Hypervisor
File System (libs, …)
OS kernel
hardware
virtualization
#DV14 #Docker @ndeloof @dgageot
21. /sbin/getty
my App
dhclient
rsyslogd
sshd -D
cron
/sbin/init
#DV14 #Docker @ndeloof @dgageot
23. Why
do
we
need
VM
?
✓ Different
Operating
System
✓ Different
CPU
Architecture
✓Work
with
multiples
versions
✓Move
application
to
a
different
server
#DV14 #Docker @ndeloof @dgageot
26. data (memory / disk)
application
services application runtime (JDK)
(virtual) File System
OS kernel
Hypervisor
File System (libs, …)
OS kernel
services
emulation
#DV14 #Docker @ndeloof @dgageot
29. data data
jar
JDK
app.js
node
docker -D base image
File System (libs, …)
OS kernel
data
rails
ruby
#DV14 #Docker @ndeloof @dgageot
30. data data
data
foo.jar rails
JDK
bar.jar
docker -D base image
File System (libs, …)
OS kernel
ruby
#DV14 #Docker @ndeloof @dgageot
31. data data data
app.jar
JDK
docker -D base image
File System (libs, …)
OS kernel
#DV14 #Docker @ndeloof @dgageot
38. DEV
✓Quickly get third party
tools up-and-running
#DV14 #Docker @ndeloof @dgageot
43. Test
resources
✓ Define build / test infra in your SCM
•Database
•Messaging Middleware
•…
#DV14 #Docker @ndeloof @dgageot
46. QA
✓ Quickly get low-cost iso-production environment
#DV14 #Docker @ndeloof @dgageot
48. Run
a
demo
✓ Ready to run demo
✓ No setup stress
✓ No technical skills required
✓ Can share with partners
#DV14 #Docker @ndeloof @dgageot
50. Dev/Ops
a WAR archive is NOT what a sysadmin expect as delivery
+
52. Dev/Ops
a WAR archive is NOT what a sysadmin expect as delivery
+
#DV14 #Docker @ndeloof @dgageot
55. Separation
of
concern
Inside container
/var/log/myapp
On host
/mnt/backup/myapp/log
#DV14 #Docker @ndeloof @dgageot
56. Separation
of
concerns
Inside container
VOLUME /var/log/myapp
On host
/mnt/backup/myapp/log
#DV14 #Docker @ndeloof @dgageot
57. Ops
✓ Manage hardware / infrastructure
✓ Monitoring / backups
- Not apps « implementation details »
#DV14 #Docker @ndeloof @dgageot
58. Dev
✓ Develop simplest possible solution
✓ Configuration is a runtime constraint
- Not extra-extra-flexibile application
new WebServer().start(8080);
#DV14 #Docker @ndeloof @dgageot
60. from
SCM
to
production
#DV14 #Docker @ndeloof @dgageot
62. Continuous
Delivery
•100% Reproducible environments
Dockerfile
build WAR
from sources
Dockerfile
run
acceptance
Dockerfile
build
deployable
docker run | docker build -
#DV14 #Docker @ndeloof @dgageot
64. What
for
?
✓ Cloud
✓ devices
✓ on-premises
more to come …
#DV14 #Docker @ndeloof @dgageot
68. data (memory / disk)
application
services application runtime (JDK)
services (virtual) File System
File System (libs, …)
OS kernel
#DV14 #Docker @ndeloof @dgageot
69. data (memory / disk)
application
application runtime (JDK)
data
service
runtime
services (virtual) File System
File System (libs, …)
OS kernel
vFS
#DV14 #Docker @ndeloof @dgageot
70. data (memory / disk)
application
application runtime (JDK)
data
service
runtime
services (virtual) File System
File System (libs, …)
OS kernel
vFS
#DV14 #Docker @ndeloof @dgageot
71. sample
:
syslog
host
rsyslog
/dev/log
/tmp/syslogdev
logger "hello"
/dev/log
http://jpetazzo.github.io/2014/08/24/syslog-docker/
#DV14 #Docker @ndeloof @dgageot
73. Diviser
pour
mieux
régner
embrace Micro-services
‣ « the unix way »
‣ domain focussed
‣ quick release cycles
‣ segregate resources
http://yobriefca.se/blog/2013/04/29/micro-service-architecture/
#DV14 #Docker @ndeloof @dgageot
75. Time
to
Live
Virtual Machine :
some months (years ?)
Container(s) :
might just be few minutes
#DV14 #Docker @ndeloof @dgageot
78. Docker
pattern:
Data
Container
postgres dbdata
--volumes-from
postgres-2
-v /dbdata
backup
#DV14 #Docker @ndeloof @dgageot
82. pimp
my
Dockerfile
Dockerfile
ONBUILD COPY /cookbooks
ONBUILD RUN chef-solo
Dockerfile
FROM chef-solo
#DV14 #Docker @ndeloof @dgageot
83. Orchestrate
Docker
load balancer
- hosts: web webapp
webapp
cache
monitoring
database replica
sudo: yes
tasks:
- name: run tomcat servers
docker: image=webapp ports=8080
#DV14 #Docker @ndeloof @dgageot