Docker Based Web Hosting
강동혁
donghyeok@shoplic.kr
• (현) 쇼플릭 대표
• 단비랩스 CTO
• 맥스트 Senior Researcher
• 한솔헬스케어 Dev Team Leader
• SK커뮤니케이션즈 과장
• 네트빌 Junior Researcher
• Java, PHP, Go, Python, Shell Script, Javascr
ipt, Lua, ASP
• AWS, Docker, Linux, MySQL
강동혁
2
Apache HTTPD
(PHP Module)
MySQL
/home/hosting_users /foo
/bar
/shoplic
/donghyeok
/bradpitt
…
Web Hosting without Docker
Host
Container & Docker
• Standardized packaging for
software and dependencies
• Isolate apps from each
other
• Share the same OS kernel
• Container Orchestration
• Kubernetes
• Docker Swarm
• Mesosphere
• Rancher
Image source) https://docs.docker.com/get-started/
Docker Basic
• Image
• Volume
• Network
Docker Image
• Immutable snapshot of a container
• Building an image from a DockerFile via “docker build”
• Public repositories like hub.docker.com
• Private repository like AWS ECR(Elastic Container Repository)
Image source) https://fizalihsan.github.io/technology/virtualization.html
Image source) https://docs.docker.com/storage/storagedriver
Docker Volume
mechanism for persisting data generated by and used by Docker
containers
Image Source) https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/
Docker Network
• Connecting docker containers together, or containers to non-
Docker workloads
• Network drivers
• Bridge
• Overlay
• Host
• Macvlan
• None
Bridge Network Driver
Image source) https://blog.docker.com/2016/12/understanding-docker-networking-drivers-use-cases/
Overlay Network Driver
Image source) https://blog.docker.com/2016/12/understanding-docker-networking-drivers-use-cases/
Host Network Driver
Image source) https://success.docker.com/article/networking
Macvlan Network Driver
Image source) https://blog.docker.com/2016/12/understanding-docker-networking-drivers-use-cases/
Host
Apache HTTPD
(PHP Module)
MySQL
/home/hosting_users /foo
/bar
…
Web Hosting without Docker
Apache HTTPD
MySQL
/data/sites /foo
/bar
Web Hosting with Docker
Apache HTTPD
MySQL
volume
volume
Host
Docker Container
Host
Apache HTTPD
MySQL
Web Hosting with Docker
Apache HTTPD
MySQL
Service
Discovery
foo.com
bar.com
/data/sites /foo
/bar
volume
volume
Host
Apache HTTPD
MySQL
Web Hosting with Docker
Apache HTTPD
MySQL
Reverse
Proxy
foo.com
bar.com
/data/sites /foo
/bar
volume
volume
Apache HTTPD
MySQL
Web Hosting with Docker
Apache HTTPD
MySQL
/data/sites /foo
/bar
volume
volume
Nginx
Host
foo.com
bar.com
PHP-FPM
Web Hosting with Docker
PHP-FPM
/data/sites /foo
/bar
volume
volume
Nginx
Host
MySQL
foo.com
bar.com
Thank You
23
fb.com/kangdonghyeok
donghyeok@shoplic.kr

Docker based web hosting