Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dockers
Search
Luigi Maselli
April 03, 2016
Technology
180
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dockers
Docker use cases
Luigi Maselli
April 03, 2016
More Decks by Luigi Maselli
See All by Luigi Maselli
Applicazioni React Native per Android, iOS e Web
grigio
1
250
Introduzione alla programmazione, con JavaScript
grigio
0
150
Anatomia di un'app javascript isomorfica
grigio
0
150
Libera un Chromebook
grigio
1
130
Material UI, React and Meteor
grigio
2
360
Why Meteor
grigio
2
420
Other Decks in Technology
See All in Technology
AIで開発は速くなったのに、なぜ現場は楽にならないのか 〜あなたの組織のボトルネックを突き止めるワークショップ〜
jacopen
1
230
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
1
330
AI時代に、プロダクトの数だけ積み上がる所有コストをどうエンジニアリングするか / Engineering the Cost of Ownership
kzkmaeda
0
840
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
300
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
200
KAEN Company Deck
kaen
PRO
0
290
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
2
660
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
2
1.3k
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
290
DINO-EdgeQuery:Edge-First Polygon Decoding for Building Footprint Extraction from Satellite Imagery
lehupa
0
130
Webとヘルスデータ
yukukotani
0
160
データエンジニアリングワークショップ:Auto LoaderとSparkで学ぶデータパイプライン構築
databricksjapan
PRO
0
120
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
550
How to Ace a Technical Interview
jacobian
281
24k
Exploring anti-patterns in Rails
aemeredith
3
490
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
180
Navigating Team Friction
lara
192
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Designing for Performance
lara
611
70k
Darren the Foodie - Storyboard
khoart
PRO
3
3.9k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Transcript
DOCKER HOME
ARGOMENTI DEL GIORNO Cos'è Docker (ma in generale i container)
Casi d'uso ed ecosistema
Luigi Maselli Fullstack developer web: web: twitter: @grigi0 https://grigio.org https://corso-javascript.it
I ❤ configure Linux but...
None
None
Cosa sono i Linux/* Containers (es. Docker, LXC, rkt)?
None
LIMITAZIONI E DIFFERENZE CON VMS Sandbox per processi in esecuzione
Partenza istantanea Kernel, architettura, fs, .., dell' Host Stateless (o per lo meno lo stato è esplicito)
PRIMA.. PROXMOX (OPENVZ)
BIG PICTURE "OPEN CLOUD" > SERVER Aggiornamenti istantanei, atomici Build
ripetibili: stack + myapp + config + data = WIN! Astrazione "multi computer" indipendente dal cloud provider Autoscaling per gestire picchi sul cloud più economico Allocare app su nodo con caratteristiche specifiche (es EU+SSD+REPLICA2)
DOCKER (PER IMPARARE AD USARE LINUX IN SANDBOX)
docker pull ubuntu:15.04 15.04: Pulling from library/ubuntu 9502adfba7f1: Pull complete
4332ffb06e4b: Pull complete 2f937cc07b5f: Pull complete a3ed95caeb02: Pull complete Digest: sha256:2fb27e433b3ec.. Status: Downloaded newer image for ubuntu:15.04 docker run -ti --rm ubuntu:15.04 root@009b5007de75:/# echo "ciao ne!" > /tmp/prova.txt root@009b5007de75:/# exit # (altro terminale) docker diff 009b5007de75 C /tmp A /tmp/prova.txt docker diff 009b5007de75 Error response from daemon: No such container: 009b5007de7
NON SOLO UBUNTU (DEBIAN, REDHAT,..) docker images ubuntu 15.04 ...
131.3 MB debian 8 ... 125.1 MB busybox latest ... 2.43 MB gliderlabs/alpine 3.1 ... 5.026 MB
DOCKERFILE, LA PROPRIA RICETTA FROM alpine:3.2 MAINTAINER Luigi Maselli grigio.org
RUN apk add --update pm-utils nodejs && \ rm -rf /var/cache/apk/* ADD ./app.js / EXPOSE 8080 CMD ["node", "app.js"] docker build -t grigio/web-pm-suspend .
ESECUZIONE APP docker run --privileged --rm -p 9000:8080 --name web-pm-suspend
-t grigio/web
E SE CI FOSSE IL DB? DOCKER-COMPOSE web: build: .
environment: - HOSTNAME=demo.corso-javascript.it # exampleapp_db_1 generated by docker-compose - MONGOURL=mongodb://exampleapp_db_1:27017/example_app links: - db db: image: mongo volumes: - db:/data/db docker-compose up - d
Demo docker ps docker rm -f dockerui && docker run
-d --name=dockerui --privileged -p 9000:9000 -v / # dentro progetto docker-compose up -d
RISORSE https://docs.docker.com/linux/step_one/ https://github.com/grigio/docker-apps https://github.com/corso-javascript/docker-compose- nginx-nodejs
RECAP Architettura stateless (o quasi) Automatizza il più possibile Profit!
Senza sorprese
GRAZIE!