Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ......
Transcript of Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ......
![Page 1: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/1.jpg)
Aurelijus Banelis
Docker on VDS
![Page 3: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/3.jpg)
Docker on VDS
![Page 4: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/4.jpg)
Why it is good
Why it is bad
The dockerYo
u w
ill le
arn
![Page 5: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/5.jpg)
Why it is good
Why it is bad
The docker
![Page 6: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/6.jpg)
Why docker?
Wanted new technologies on my old Virtual Dedicated Server
![Page 7: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/7.jpg)
Problem/Context
![Page 8: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/8.jpg)
Problem/Context
![Page 9: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/9.jpg)
Problem/Context
Markdowndocumentation
Very smart bash script
Provision with puppet
Provision with saltstack
![Page 10: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/10.jpg)
Problem/Context
Markdowndocumentation
Very smart bash script
Provision with puppet
Provision with saltstack
![Page 11: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/11.jpg)
What is docker?
User-friendly containerization tools
![Page 13: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/13.jpg)
Problem/Context
What is docker?
Source: https://www.docker.com/
Containers...
![Page 14: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/14.jpg)
Problem/Context
What is docker?
![Page 15: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/15.jpg)
Problem/Context
What is docker?
PHP Fatal error: Cannot use 'String' as class name as it is reserved
![Page 16: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/16.jpg)
Problem/Context
What is docker?
PHP Fatal error: Cannot use 'String' as class name as it is reserved
docker run -v "$PWD":"/src" -w "/src" \ php:5.6 bash -c "make build"
*
![Page 17: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/17.jpg)
What about production?
Possible on some VDS, but mine used bad kernel
Docker on VDS
![Page 18: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/18.jpg)
Problem/Context
One line to rundocker-compose up
If docker is installed
*Docker-compose is a docker wrapper, written in Python. There was less problems installing it, than docker itself
![Page 19: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/19.jpg)
Problem/Context
Old distribution?Install from .deb on Ubuntu 14.04
![Page 20: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/20.jpg)
Problem/Context
Old distribution?
Newest kernel
Your Linux kernel version 2.6.32-042stab113.12 can be unstable running docker.
Please upgrade your kernel to 3.10.0.http://forumas.dedikuoti.lt/showthread.php?t=602
Install from .deb on Ubuntu 14.04
![Page 21: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/21.jpg)
Problem/Context
Ended up on AWS
![Page 22: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/22.jpg)
Problem/Context
Ended up on AWS
https://aws.amazon.com/
Similar price
Static IP
Stable HDD
![Page 23: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/23.jpg)
Why it is good
Why it is bad
The docker
![Page 24: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/24.jpg)
Why it is good
Why it is bad
The docker
![Page 25: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/25.jpg)
DEMO● One line to run/stop. Same on different environments● Generate config from environment variables● Auto-restart and output logs● Mounting volumes instead of symlinks● Include version into logs● Advanced development environment (compiling, jenkins, log analysis)● Read only file systems
![Page 26: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/26.jpg)
Why it is good
Why it is bad
The docker
![Page 27: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/27.jpg)
Why it is good
Why it is bad
The docker
![Page 28: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/28.jpg)
Another layer to debug
● envsubst and nginx $fastcgi_path_info ● Digging the cause of the error● Mysql just not starting (started working after
version update)
● Slow “docker ps” when low of memory
![Page 29: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/29.jpg)
Needs tooling around
● Cache everything● Most fast metrics are accumulative
![Page 30: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/30.jpg)
Reliability
● Linux vs Mac/Win native● Orientdb repository renamed, old versions
removed from docker hub
● Kernel panics● Docker hub connection problems● Security: Running 3rd party software with root● Community split
![Page 31: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/31.jpg)
Why it is good
Why it is bad
The docker
![Page 32: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/32.jpg)
Docker on VDS
![Page 33: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,](https://reader031.fdocuments.in/reader031/viewer/2022022015/5b5beb297f8b9a905c8ef6c5/html5/thumbnails/33.jpg)
That’s it. Questions?
?Slides on server working on Docker: https://aurelijus.banelis.lt/prezentations/docker-on-vds/Docker-on-VDS-v3.pdf Video: https://youtu.be/dIgaQ4mgFYg Feedback: https://goo.gl/forms/nbkrmdxVk5YhjsPE2