docker on vds - aurelijus.banelis.lt · puppet provision with saltstack. problem/context ......

33
Aurelijus Banelis Docker on VDS

Upload: vanhanh

Post on 28-Jul-2018

258 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,

Aurelijus Banelis

Docker on VDS

Page 2: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,

Aurelijus Banelis

[email protected] developer

Page 3: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,

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,

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,

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,

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,

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,

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,

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,

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,

What is docker?

User-friendly containerization tools

Page 12: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,

Problem/Context

What is docker?

Source: https://www.docker.com/

Page 13: Docker on VDS - aurelijus.banelis.lt · puppet Provision with saltstack. Problem/Context ... *Docker-compose is a docker wrapper, ... Advanced development environment (compiling,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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