dockerizing php apps - aurelijus banelis · how to dockerize introduction development production...
TRANSCRIPT
![Page 2: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/2.jpg)
Aurelijus Banelis
PGP 0x320205E7539B6203130D C446 1F1A 2E50 D6E33DA8 3202 05E7 539B 6203
Backend/[email protected]
![Page 3: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/3.jpg)
AdaptingPHP applicationsto be used with
docker
![Page 4: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/4.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 5: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/5.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 6: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/6.jpg)
Development bottleneck
Confidence/tooling bottleneck
Provisioning speed bottleneck
Illustration: https://home24.tech.blog/2018/05/28/home24-presenting-at-tableau-cinema-tour/
![Page 7: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/7.jpg)
Monolith (VirtualBox) → SplitDevelopment bottleneck
Confidence/tooling bottleneck
Provisioning speed bottleneck
![Page 8: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/8.jpg)
Development bottleneck
Jenkins (time based) → CircleCIConfidence/tooling bottleneck
Provisioning speed bottleneck
![Page 9: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/9.jpg)
Development bottleneck
Confidence/tooling bottleneck
Release coordination → AWS servicesProvisioning speed bottleneck
![Page 10: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/10.jpg)
Monolith (VirtualBox) → SplitDevelopment bottleneck
Jenkins (time based) → CircleCIConfidence/tooling bottleneck
Release coordination → AWS servicesProvisioning speed bottleneck
Bottleneck to grow
![Page 11: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/11.jpg)
Monolith (VirtualBox) → SplitDevelopment bottleneck
Jenkins (time based) → CircleCIConfidence/tooling bottleneck
Release coordination → AWS servicesProvisioning speed bottleneck
The need for better virtualization tools
![Page 12: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/12.jpg)
Monolith (VirtualBox) → SplitDevelopment bottleneck
Jenkins (time based) → CircleCIConfidence/tooling bottleneck
Release coordination → AWS servicesProvisioning speed bottleneck
The need for better virtualization tools
docker?
![Page 13: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/13.jpg)
We migrated to dockerUsing docker extensively at
![Page 14: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/14.jpg)
We migrated to dockerUsing docker extensively at
I would do the same againRight decision for current scaleFuture opportunities
![Page 15: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/15.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 16: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/16.jpg)
Tool to run in isolated environmentMany ifs in kernel = cgroupsNot VirtualBox, not unikernel
Open source tool backed by Docker IncContainer hosting and premium serviceImproved by community (AWS, K8s)
![Page 17: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/17.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 18: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/18.jpg)
![Page 19: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/19.jpg)
![Page 20: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/20.jpg)
docker build . -t siauliaiphp-exampledocker run -p 8080:80 siauliaiphp-example
![Page 21: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/21.jpg)
https://gist.github.com/aurelijusb/6f6b1c86c440ce527250193ffcae62d7
docker build . -t siauliaiphp-exampledocker run -p 8080:80 siauliaiphp-example
![Page 22: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/22.jpg)
https://gist.github.com/aurelijusb/6f6b1c86c440ce527250193ffcae62d7
docker build . -t siauliaiphp-exampledocker run -p 8080:80 siauliaiphp-exampleSimple?
![Page 23: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/23.jpg)
https://gist.github.com/aurelijusb/6f6b1c86c440ce527250193ffcae62d7
docker build . -t siauliaiphp-exampledocker run -p 8080:80 siauliaiphp-exampleSimple?But for simple cases
![Page 24: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/24.jpg)
Multiple containers
Development tools
PHP extensions
xDebug support
...https://github.com/nfqakademija/docker/blob/master/php/Dockerfile
![Page 25: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/25.jpg)
Multiple containers
Development tools
PHP extensions
xDebug support
...https://github.com/nfqakademija/docker/blob/master/php/Dockerfile
More configuration
![Page 26: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/26.jpg)
Multiple containers
Development tools
PHP extensions
xDebug support
...https://github.com/nfqakademija/docker/blob/master/php/Dockerfile
More configurationBut infrastructure
as a code
![Page 28: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/28.jpg)
Multiple containers
Development tools
PHP extensions
xDebug support
...https://github.com/nfqakademija/docker/blob/master/php/Dockerfile
Docker wayLogging stdout/stderrConfiguration via ENV
Kill-it-not-heal-it….
![Page 29: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/29.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 30: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/30.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 31: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/31.jpg)
Docker Featuretoggle
IDE in cloud
Run & pray
Virtual box
Not many alternativesFor isolated environments
![Page 32: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/32.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 33: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/33.jpg)
Person
Team
Community
![Page 34: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/34.jpg)
Sandboxed development environmentHigh quality mocks (real MySql, wireshark)True integration/acceptance testsDockerfile→docker-compose→custom tooling
Experimenting with new software saferNo trash, no sensitive informationEasy to swap (DynamoDB local vs dynalite)Install/compile on your machine? Seriously?
![Page 35: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/35.jpg)
![Page 36: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/36.jpg)
Switching between branches/tasksLess issues with cache invalidationKill-it-not-heal-itData volumes = test data in branch
Infrastructure as a codeFixed versions, fixed php.ini+extensionsLess “works on my machine” = reproducibleMany bash scripts, configuration via ENV
![Page 37: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/37.jpg)
![Page 38: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/38.jpg)
Huge ecosystemPioniers are using and improvingAmazon, Google (K8s) is investingKnown issues and solutions in StackOverflow
![Page 39: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/39.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 40: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/40.jpg)
High learning curve = blame dockerMisuse of the tool – isn’t docker silver bullet?Docker wraps – everyone blames the wrapperMany ways to install docker incorrectlyMounting vs copy-on-write operationNo Windows, more tooling/docs around
![Page 41: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/41.jpg)
![Page 42: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/42.jpg)
Not mature tooling / edge casesDownload private dependency: github token?Password protected SSH key? (Mac+Linux)CircleCI limited “remote docker”Host IP for xDebugEven more bash scripts/docs
![Page 43: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/43.jpg)
![Page 44: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/44.jpg)
Cache everything by designFull HDD because of docker imagesMissing log rotation (no “log-opts” by default)“Latest” tag, that is not immutableNetwork unreachable, since used by dockerDocker-clean sh, docker pull, RTFM
![Page 45: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/45.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 46: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/46.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 47: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/47.jpg)
○ ECS (not yet K8s, AWS backed infrastructure/improvements, canary deployment by default)
○ ECR – uptime for downloads. Docker hub for development○ Task definition = docker-compose.yml○ PHP+Apache = PHP+Nginx (no big difference)○ Custom tooling for credentials via environment○ Spot-instances (currently for staging, targeting production)
PHP + Docker in productionMigrated Tier1 service – nobody noticed
AWS ECS PHP 7.2
Docker Apache
![Page 48: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/48.jpg)
○ ECS (not yet K8s, AWS backed infrastructure/improvements, canary deployment by default)
○ ECR – uptime for downloads. Docker hub for development○ Task definition = docker-compose.yml○ PHP+Apache = PHP+Nginx (no big difference)○ Custom tooling for credentials via environment○ Spot-instances (currently for staging, targeting production)
PHP + Docker in productionMigrated Tier1 service – nobody noticed
AWS ECS PHP 7.2
Docker Apache
![Page 49: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/49.jpg)
Amazon Web ServicesElastic Container ServiceAWS integration (E.g. spot-instances)K8s on AWS then was not matureKnow-how (our Go apps in prod)
![Page 50: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/50.jpg)
Amazon Web ServicesElastic Container ServiceAWS integration (E.g. spot-instances)K8s on AWS then was not matureKnow-how (our Go apps in prod)
Naming in AWSDocker-compose → Task definitionContainer → TaskDocker Hub → ECR
![Page 51: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/51.jpg)
Apache mod_phpPHP 7.2 log trimming in Nginx+FPMSingle process container – easierNo visible performance impactInternal service (no slow loris attack)
![Page 52: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/52.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 53: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/53.jpg)
Replica Daemon External
ECS Service types
![Page 54: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/54.jpg)
Daemon
![Page 55: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/55.jpg)
LogConfiguration: LogDriver: fluentd Options: fluentd-async-connect: "true" fluentd-buffer-limit: "32MB" mode: "non-blocking"
Daemon
![Page 56: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/56.jpg)
Replica Daemon External
Under investigation...Filebeat
![Page 57: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/57.jpg)
Why to dockerizeWhat is dockerHow to dockerize
Introduction
Development
Production
Context/AlternativesWhat I really likedWhat I do not like
Deploying to AWSLogging challenges
![Page 58: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/58.jpg)
DockerFeaturetoggle
IDE in cloud
Run & pray
Virtual box
Docker:Good to understand
Use on demand
![Page 59: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/59.jpg)
Aurelijus Banelis
Dockerizing PHP Apps
ŠiauliaiPHP2019-01-31
Thank youQuestions?
![Page 60: Dockerizing PHP Apps - Aurelijus Banelis · How to dockerize Introduction Development Production Context/Alternatives What I really liked What I do not like Deploying to AWS Logging](https://reader034.vdocuments.site/reader034/viewer/2022051809/600fa5f7e9020d76107d814a/html5/thumbnails/60.jpg)
Further reading/references● https://www.docker.com/● https://hub.docker.com/ ● https://aws.amazon.com/ecs/● https://aws.amazon.com/ecr/ ● https://fluentbit.io/● https://www.home24.de/ ● https://home24.tech.blog/category/aws/● https://aws.amazon.com/blogs/opensource/network-load-balancer-support-in-kubernetes-1-9/ ● https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-volumes.html ● https://d1.awsstatic.com/whitepapers/microservices-on-aws.pdf ● https://justi.cz/security/2019/01/22/apt-rce.html ● https://www.elastic.co/guide/en/beats/filebeat/master/filebeat-input-syslog.html ● https://d1.awsstatic.com/whitepapers/DevOps/running-containerized-microservices-on-aws.pdf