docker & diego - good friends or not?
TRANSCRIPT
![Page 1: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/1.jpg)
Diego & Docker - Good friends or not ?
![Page 2: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/2.jpg)
![Page 3: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/3.jpg)
• DevOps Engineer @anynines • Used to work with Java (monoliths)• Got to know Node.js and
Microservices • Learned about CloudFoundry • Can I push my Container to CF ?
![Page 4: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/4.jpg)
Why even use Docker ?
![Page 5: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/5.jpg)
![Page 6: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/6.jpg)
Code
Dockerfile
Docker Imagedocker build
Docker container
Codedocker run
Docker hub
![Page 7: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/7.jpg)
Docker hub
Docker ImageDocker ImageDocker Image
![Page 8: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/8.jpg)
Developer machine
Docker container
Code
node 0.12
Docker Image
Docker hub
Docker ImageDocker Image
new Developer machine test/staging/production machine
Docker container
Code
Docker container
Code
node 6.3.0 node 5.0.0
node 5.0.0 node 5.0.0 node 5.0.0
Docker Image
![Page 9: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/9.jpg)
Why even use Cloud Foundry ?
![Page 10: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/10.jpg)
Developer machine
Code
Cloud Foundry
Instancecf push
![Page 11: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/11.jpg)
Developer machine
Code
Cloud Foundry
Instancecf scale APP -i 4
Instance
Instance
Instance
![Page 12: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/12.jpg)
Diego supports Docker
![Page 13: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/13.jpg)
Docker Image
Filesystem
Commands
Garden Container
Filesystem
Droplet
Garden Linux
creates
![Page 14: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/14.jpg)
Garden Container
Garden Linux
creates
Docker Image
Filesystem
Commands
![Page 15: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/15.jpg)
Why even use Docker & CloudFoundry
![Page 16: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/16.jpg)
Importer
Docker Container
MongoDB(Movies)
DBWrapper
Recommender
Docker Container
MongoDB(Subscriber)
![Page 17: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/17.jpg)
Spin it up$ docker run -d -p 27017:27017 mongo
$ cd ../importer$ PORT=… MOVIE_DB_HOST=… MOVIE_DB_PORT=… npm start
$ cd ../recommender$ PORT=… MOVIE_DB_HOST=… MOVIE_DB_PORT=… npm start
$ cd db$ PORT=… MOVIE_MONGO_URI=mongodb://192… npm start
$ docker pull mongo
![Page 18: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/18.jpg)
Docker Container
Docker ContainerDocker Container
Importer
Docker Container
MongoDB(Movies)
DBWrapper
Recommender
Docker Container
MongoDB(Subscriber)
![Page 19: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/19.jpg)
![Page 20: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/20.jpg)
![Page 21: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/21.jpg)
Spin it up with Docker$ docker-compose up
![Page 22: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/22.jpg)
Importer
Docker Container
MongoDB(Movies)
DBWrapper
Recommender
Docker Container
MongoDB(Subscriber) $ MONGO_URI=… npm
start
local
$ MOVIE_DB_HOST=… npm start $ MOVIE_DB_HOST=… npm start
![Page 23: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/23.jpg)
MongoDB(Movies)
DBWrapper
cloud
manifest.yml
![Page 24: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/24.jpg)
Importer
DBWrapper
manifest.yml
cloud
![Page 25: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/25.jpg)
DBWrapper
Recommender
cloud
manifest.yml
![Page 26: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/26.jpg)
Recommender
MongoDB(Subscriber)
manifest.ymlcloud
![Page 27: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/27.jpg)
Deploy it on Cloud Foundry$ docker build -t mebnoah/moviez_db .$ docker push mebnoah/moviez_db
$ cf push --docker-image mebnoah/moviez_db
$ cd db
$ cd ../importer$ docker build -t mebnoah/moviez_importer .$ docker push mebnoah/moviez_importer
$ cf push --docker-image mebnoah/moviez_importer $ cd ../recommender
$ docker build -t mebnoah/moviez_recommender .$ docker push mebnoah/moviez_recommender
$ cf push --docker-image mebnoah/moviez_recommender
![Page 28: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/28.jpg)
![Page 29: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/29.jpg)
State of the onion
![Page 30: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/30.jpg)
Spin it up with just 1 command
![Page 31: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/31.jpg)
• Build each Docker image explicitly• Register on Docker Hub and push
each image • Push each app separately to CF
![Page 32: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/32.jpg)
You decide wether to push a micro service with or without
docker !
![Page 33: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/33.jpg)
I would push it without docker
![Page 34: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/34.jpg)
Spin it up with just 1 command
![Page 35: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/35.jpg)
![Page 36: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/36.jpg)
Push it to CF with just 1 command
![Page 37: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/37.jpg)
![Page 38: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/38.jpg)
Support Continuous Integration/Deployment
![Page 39: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/39.jpg)
There is a friendship but it’s not a good one
![Page 40: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/40.jpg)
Questions ?
![Page 41: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/41.jpg)
![Page 42: Docker & Diego - good friends or not?](https://reader031.vdocuments.us/reader031/viewer/2022021918/58a79d2f1a28ab03128b489d/html5/thumbnails/42.jpg)
• github.com/mebnoah• twitter.com/mebnoah
Follow me