SlideShare ist ein Scribd-Unternehmen logo
1 von 151
Downloaden Sie, um offline zu lesen
@danaluther
Hands on Docker:
Launch Your Own LEMP or LAMP Stack
Dana Luther
https://git.io/JvUy5
https://joind.in/talk/d1bc3
@danaluther
What are we going to do today, Brain?
Set up standard LAMP and LEMP stacks using Docker stack
Modify the stack to mimic production
Run codeception test suites against our application
Learn how to swap out php versions
Add and remove additional services
@danaluther
Where are you on your Docker
journey?
Brand new to this
rodeo…
Docker containers are
my jam!
I am Docker.
@danaluther
Everyone set up and ready?
Docker Desktop installed and running
Checked out the GIT repo
Pulled the docker images
Anyone using Windows? Set to use LCOW?
@danaluther
Moving beyond containers…
@danaluther
Moving beyond containers…
Image Container Service Stack
@danaluther
Moving beyond containers…
Image Container Service Stack App
@danaluther
Moving beyond containers…
Image Container Service Stack App
@danaluther
Release the swarm!
> docker swarm init
@danaluther
Basic LAMP Stack
docker-compose.yml
php:7.4-apache
mysql
01_LAMP
@danaluther
Basic LAMP Stack
version: "3.7"
services:
php:
# https: //hub.docker.com/_/php
image: php:7.4-apache
ports:
- 80:80
volumes:
- ./src:/var/ www/html
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_pwd
secrets:
- db_pwd
secrets:
db_pwd:
file: ./root_db_password.txt
docker-compose.yml
01_LAMP
SIDEBAR:
@danaluther
https://docs.docker.com/compose/compose-file/
Docker compose file reference
@danaluther
Basic LAMP Stack
version: "3.7"
services:
php:
# https: //hub.docker.com/_/php
image: php:7.4-apache
ports:
- 80:80
volumes:
- ./src:/var/ www/html
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_pwd
secrets:
- db_pwd
secrets:
db_pwd:
file: ./root_db_password.txt
docker-compose.yml
01_LAMP
SIDEBAR:
@danaluther
What’s in a secret?
@danaluther
Basic LAMP Stack
> docker stack deploy -c docker-compose.yml hod
Make sure you are on the 01_LAMP branch of the workshop repo
01_LAMP
@danaluther
Basic LAMP Stack
> docker stack deploy -c docker-compose.yml hod
Make sure you are on the 01_LAMP branch of the workshop repo
01_LAMP
@danaluther
Verify the services have all launched
> docker service ls
01_LAMP
@danaluther
Verify the services have all launched
> docker service ls
01_LAMP
SIDEBAR:
@danaluther
Stuck and not sure what the
problem is?
> docker stack ps hod --no-trunc
@danaluther
Verify the services have all launched
> docker service ls
01_LAMP
@danaluther
Verify the services have all launched
> docker service ls
01_LAMP
⚠ Common “Gotcha”
@danaluther
No public port for MySQL unless you *want* to expose it externally.
@danaluther01_LAMP
@danaluther01_LAMP
SIDEBAR:
@danaluther
What’s in a stock PHP image?
> docker run --rm php:7.4-fpm php-fpm -m
SIDEBAR:
@danaluther
What’s in a stock PHP image?
@danaluther
Creating our custom PHP image
Add the mysqli and PDO_mysql
extensions
Use build args in the Dockerfile
ARG PHP_TARGET=7.4-apache
FROM php:$PHP_TARGET
RUN docker-php-ext-install 
-j$(nproc) mysqli pdo_mysql
02_LAMP
@danaluther
Enabling Buildkit
https://docs.docker.com/develop/develop-images/build_enhancements/
@danaluther
Creating our custom PHP image
> docker image build -f Dockerfile-php-mysql 
-t dhluther/php:7.4-apache-mysql .
From the /images/ directory:
02_LAMP
@danaluther
Creating our custom PHP image
> docker image build -f Dockerfile-php-mysql 
-t dhluther/php:7.4-apache-mysql .
From the /images/ directory:
02_LAMP
@danaluther
Update our LAMP stack
version: "3.7"
services:
php:
# Custom PHP Image - see /images/Readme.md
image: dhluther/php:7.4-apache-mysql
ports:
- 80:80
volumes:
- ./src:/var/ www/html
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_pwd
secrets:
- db_pwd
secrets:
db_pwd:
file: ./root_db_password.txt
02_LAMP
@danaluther
Re-deploy the LAMP stack
> docker stack deploy -c docker-compose.yml hod
@danaluther
Re-deploy the LAMP stack
> docker stack deploy -c docker-compose.yml hod
@danaluther02_LAMP
@danaluther
<?
/**
* mysql-check.php
*/
try
{
$db = new PDO('mysql:host=db', 'root', 'sup3rs3cr3tp4ssw0rd');
echo 'MySQL Version: ',
$db ->getAttribute(PDO ::ATTR_CLIENT_VERSION);
} catch (Exception $e)
{
echo 'Aw shucks pardner, ', $e ->getMessage();
}
02_LAMP
@danaluther
Checking the service logs
02_LAMP
> docker service logs hod_php
@danaluther
Checking the service logs
02_LAMP
> docker service logs hod_php
@danaluther
Take the stack down
02_LAMP
> docker stack rm hod
@danaluther
Basic LEMP Stack
docker-compose.yml
php:7.4-fpm
mysql
nginx
03_LEMP
@danaluther
Basic LEMP Stack
03_LEMP
version: "3.7"
services:
php:
image: dhluther/php:7.4-fpm-mysql
volumes:
- ./src:/var/ www/html
…db…
web:
image: nginx
ports:
- 80:80
- 443:443
volumes:
- ./src:/var/ www/html
configs:
- source: nginx-conf
target: /etc/nginx/conf.d/default.conf
secrets:
db_pwd:
file: ./root_db_password.txt
configs:
nginx-conf:
file: ./nginx/default.conf
@danaluther
Creating our custom PHP-FPM image
> docker image build -f Dockerfile-php-mysql 
-t dhluther/php:7.4-fpm-mysql . 
--build-arg PHP_TARGET=7.4-fpm
From the /images/ directory:
03_LEMP
@danaluther03_LEMP
@danaluther
Deploy the LEMP stack
> docker stack deploy -c docker-compose.yml hod
03_LEMP
@danaluther03_LEMP
@danaluther03_LEMP
@danaluther03_LEMP
⚠ Common “Gotcha”
@danaluther
NO PERSISTENT DATA!
03_LEMP
⚠ Common “Gotcha”
@danaluther
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_pwd
secrets:
- db_pwd
NO PERSISTENT DATA!
03_LEMP
⚠ Common “Gotcha”
@danaluther
PERSISTENT DATA!
04_LEMP
⚠ Common “Gotcha”
@danaluther
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_pwd
volumes:
- ./data:/var/lib/mysql
secrets:
- db_pwd
PERSISTENT DATA!
04_LEMP
@danaluther
Fresh deploy the Stack
04_LEMP
> docker stack rm hod
> docker stack deploy -c docker-compose.yml hod
> docker network ls
@danaluther
Quick Break - Stretch!
@danaluther
The stack is standard, but are we?
@danaluther
The stack is standard, but are we?
Customized config files:
php.ini and php.conf
my.conf
nginx.conf
@danaluther
The stack is standard, but are we?
Customized config files:
php.ini and php.conf
my.conf
nginx.conf
Customized images:
my/php
my/mysql
my/nginx
@danaluther
Basic LEMP Stack (flashback)
03_LEMP
version: "3.7"
services:
php:
image: dhluther/php:7.4-fpm-mysql
volumes:
- ./src:/var/ www/html
…db…
web:
image: nginx
ports:
- 80:80
- 443:443
volumes:
- ./src:/var/ www/html
configs:
- source: nginx-conf
target: /etc/nginx/conf.d/default.conf
secrets:
db_pwd:
file: ./root_db_password.txt
configs:
nginx-conf:
file: ./nginx/default.conf
@danaluther
What’s in the default nginx.conf?
> docker run --rm nginx cat /etc/nginx/nginx.conf
@danaluther
@danaluther05_LEMP
# Max file size for uploads
client_max_body_size 20m;
# Sets the cache for 1k items for 1 minute
open_file_cache max=1000 inactive=20s;
open_file_cache_valid 60s;
open_file_cache_min_uses 5;
open_file_cache_errors off;
# GZIP compression settings, text/html is automatically compressed
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_comp_level 5;
gzip_buffers 16 8k;
gzip_min_length 350;
gzip_proxied any;
gzip_types application/atom+xml application/rss+xml application/x-javascript application/javascript application/json text/plain text/css text/x-
component text/x-cross-domain-policy text/javascript;
# disable auto-index across the board by default
autoindex off;
# disable server side includes by default
ssi off;
@danaluther
Update NGiNX configs
05_LEMP
version: "3.7"
services:
php:
image: dhluther/php:7.4-fpm-mysql
volumes:
- ./src:/var/ www/html
…db…
web:
…
configs:
- source: nginx-conf
target: /etc/nginx/conf.d/default.conf
- source: nginx-base—conf
target: /etc/nginx/nginx.conf
secrets:
db_pwd:
file: ./root_db_password.txt
configs:
nginx-conf:
file: ./nginx/default.conf
nginx-base-conf:
file: ./nginx/nginx.conf
@danaluther
What’s in our PHP config?
@danaluther
What might you need to customize?
Timezone setting
Error reporting
Output caching and buffering
Listen directives
Ping/Status directives
Timeouts and extension limitations
@danaluther
Create custom .ini and .conf files
tz.ini — /usr/local/etc/php/conf.d/
custom.ini — /usr/local/etc/php/conf.d/
www.mysite.conf — /usr/local/etc/php-fpm.d/
05_LEMP
@danaluther
Update php image Dockerfile
05_LEMP
@danaluther
Build the php image
> docker image build -f Dockerfile-php-mysql 
-t dhluther/php:7.4-fpm-mysql-c 
--target=customized . 
--build-arg PHP_TARGET=7.4-fpm
05_LEMP
@danaluther
Build the php image
05_LEMP
@danaluther
Update compose with new php image
php:
# Custom PHP Image - see /images/Readme.md
image: dhluther/php:7.4-fpm-mysql-c
volumes:
- ./src:/var/www/html
@danaluther
Deploy stack updates
> docker stack deploy -c docker-compose.yml hod
@danaluther
Deploy stack updates
> docker stack deploy -c docker-compose.yml hod
@danaluther
Verify ini files loaded
@danaluther
Quick Break - Get some water!
@danaluther
Great - we match production.
But what about testing??
@danaluther
Add xdebug and blackfire probe
07_LEMP
@danaluther
(the full xdebug install commands)
07_LEMP
RUN yes | pecl install xdebug 
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" 
> $PHP_INI_DIR/conf.d/xdebug.ini 
&& echo "xdebug.remote_enable=on" >> $PHP_INI_DIR/conf.d/xdebug.ini 
&& echo "xdebug.remote_autostart=off" >> $PHP_INI_DIR/conf.d/xdebug.ini
EXPOSE 8080 80 9000 9001
@danaluther
Build the debug image
07_LEMP
> docker image build -f Dockerfile-php-mysql 
-t dhluther/php:7.4-debug 
--target=debug . 
--build-arg PHP_TARGET=7.4-fpm
@danaluther
Build the debug image
07_LEMP
> docker image build -f Dockerfile-php-mysql 
-t dhluther/php:7.4-debug 
--target=debug . 
--build-arg PHP_TARGET=7.4-fpm
@danaluther
Build the debug image
07_LEMP
> docker image build -f Dockerfile-php-mysql 
-t dhluther/php:7.4-debug 
--target=debug . 
--build-arg PHP_TARGET=7.4-fpm
SIDEBAR:
@danaluther
https://blackfire.io/docs/integrations/docker
blackfire:
image: blackfire/blackfire
ports:
- "8707:8707"
environment:
# Tokens for your account
- BLACKFIRE_CLIENT_ID=<insert id here>
- BLACKFIRE_CLIENT_TOKEN=<insert token here>
# Tokens for your environment
- BLACKFIRE_SERVER_ID=<insert id here>
- BLACKFIRE_SERVER_TOKEN=<insert token here>
- BLACKFIRE_LOG_LEVEL=4
@danaluther
Deploy stack updates
> docker stack deploy -c docker-compose.yml hod
07_LEMP
@danaluther
Deploy stack updates
> docker stack deploy -c docker-compose.yml hod
07_LEMP
@danaluther07_LEMP
@danaluther07_LEMP
@danaluther07_LEMP
SIDEBAR:
@danaluther
Support the tools you use
https://www.patreon.com/derickr
@danaluther
What and how do we want to test?
Use composer to require testing framework
@danaluther
Update compose with composer
composer:
image: composer:latest
command: ['bash','-c',"sleep infinity"]
volumes:
- ./src:/var/ www/html
08_LEMP
@danaluther
Deploy stack updates
> docker stack deploy -c docker-compose.yml hod
08_LEMP
@danaluther
Deploy stack updates
> docker stack deploy -c docker-compose.yml hod
08_LEMP
@danaluther
Initialize composer
> docker exec -it $(docker ps -lq -f name=hod_composer) 
bash
08_LEMP
@danaluther
Initialize composer
> docker exec -it $(docker ps -lq -f name=hod_composer) 
bash
08_LEMP
SIDEBAR:
@danaluther
> docker ps -lq -f name=stack_service
The command to rule them all …
> docker exec -it 36fce0da4a8f bash
> docker exec -it $(docker ps -lq -f name=hod_php) 
bash
SIDEBAR:
@danaluther
> docker ps -lq -f name=stack_service
The command to rule them all …
> docker exec -it 36fce0da4a8f bash
> docker exec -it $(docker ps -lq -f name=hod_php) 
bash
@danaluther
Initialize composer
> docker exec -it $(docker ps -lq -f name=hod_composer) 
bash
08_LEMP
SIDEBAR:
@danaluther
Don’t want to mess with the
composer install today?
Use the “with_vendor” branch alternates
I got you!
09_LEMP_with_vendor
10_LEMP_with_vendor
@danaluther
Require codeception
bash-5.0# composer require codeception/codeception --dev
08_LEMP
@danaluther
Alternately … composer install
bash-5.0# composer install
09_LEMP
@danaluther
Confirm codeception installation
09_LEMP
@danaluther
Access via a php container
> docker exec -it $(docker ps -lq -f name=hod_php) 
bash
09_LEMP
@danaluther
Verify that you can run unit tests
10_LEMP
@danaluther
(What did we just run?)
require '/var/ www/html/DemoQuickCalculator.php';
class testSampleTest extends CodeceptionTestUnit
{
/**
* @var UnitTester
*/
protected $tester;
// tests
public function testBasicMath()
{
$this ->assertEquals(4, DemoQuickCalculator ::alwaysEquals4());
}
}
@danaluther
(What did we just run?)
/**
* Class DemoQuickCalculator
* Quick and dirty class to show that we can run unit tests
*/
class DemoQuickCalculator
{
/**
* @return int
*/
public static function alwaysEquals4(): int
{
return 2+2;
}
}
@danaluther
Make it fail …
/**
* Class DemoQuickCalculator
* Quick and dirty class to show that we can run unit tests
*/
class DemoQuickCalculator
{
/**
* @return int
*/
public static function alwaysEquals4(): int
{
return 2+3;
}
}
@danaluther
Run the test again …
10_LEMP
@danaluther
Quick Break - Stretch!
@danaluther
Enable headless browsers for testing
@danaluther
Enable headless browsers for testing
Update docker-compose.yml with Chrome and Firefox images
@danaluther
Enable headless browsers for testing
Update docker-compose.yml with Chrome and Firefox images
Default to 0 containers - scale the service up/down as needed
@danaluther
Enable headless browsers for testing
Update docker-compose.yml with Chrome and Firefox images
Default to 0 containers - scale the service up/down as needed
Take advantage of YAML anchors in the .yml to keep the compose file dry
SIDEBAR:
@danaluther
What are YAML anchors?
Additional Resources
https://nickjanetakis.com/blog/docker-tip-82-using-yaml-anchors-and-x-properties-in-docker-compose
https://confluence.atlassian.com/bitbucket/yaml-anchors-960154027.html
Anchor &
Alias *
Override <<:
@danaluther
Setting up x-defaults
x-defaults:
network: &network
networks:
- net
selenium-services: &selenium-svc
environment:
# Required to avoid container startup hanging sometimes in
# some environments
JAVA_OPTS: -Djava.security.egd=file:/dev/./urandom
ports:
- "4444:4444"
deploy:
replicas: 0
restart_policy:
condition: on-failure
<<: *network
10_LEMP
SIDEBAR:
@danaluther
The deploy block
selenium-services: &selenium-svc
…
deploy:
replicas: 0
restart_policy:
condition: on-failure
@danaluther
Implementing x-default network
php:
# Custom PHP Image - see /images/Readme.md
image: dhluther/php:7.4-debug
volumes:
- ./src:/var/ www/html
<<: *network
…
networks:
net:
10_LEMP
@danaluther
Setting up Chrome and Firefox
#Used for Acceptance Tests for Firefox
firefox:
image: selenium/standalone-firefox-debug:2.53.0
<<: *selenium-svc
#Used for Acceptance Tests for Chrome
chrome:
image: selenium/standalone-chrome-debug
<<: *selenium-svc
ports:
- "4443:4444"
10_LEMP
@danaluther
Deploy and Scale services
10_LEMP
@danaluther
What if we forget to scale up chrome?
10_LEMP
@danaluther
So how do we swap out php
versions?
@danaluther
Build the 7.3-fpm image
> docker image build -f Dockerfile-php-mysql 
-t dhluther/php:7.3-fpm-mysql-c 
--target=customized . 
--build-arg PHP_TARGET=7.3-fpm
10_LEMP
@danaluther
Build the 7.3-fpm image
> docker image build -f Dockerfile-php-mysql 
-t dhluther/php:7.3-fpm-mysql-c 
--target=customized . 
--build-arg PHP_TARGET=7.3-fpm
10_LEMP
> docker image build -f Dockerfile-php-mysql 
-t dhluther/php:7.3-debug 
--target=debug . 
--build-arg PHP_TARGET=7.3-fpm
@danaluther
Build the 7.3-fpm image
10_LEMP
@danaluther
Update the service
> docker service update 
--image=dhluther/php:7.3-fpm-mysql-c 
hod_php
@danaluther
Update the service
> docker service update 
--image=dhluther/php:7.3-fpm-mysql-c 
hod_php
POPQUIZ!
@danaluther
Does anyone remember how to get
into the container to run our unit
test?
POPQUIZ!
@danaluther
Does anyone remember how to get
into the container to run our unit
test?
> docker exec -it $(docker ps -lq -f name=hod_php) 
bash
@danaluther
Run our unit test
@danaluther
@danaluther
Verify the MySQL page
@danaluther
Roll back the service
> docker service rollback hod_php
SIDEBAR:
@danaluther
Updates and rollbacks happen
sequentially when affecting a
service with more than one
container running.
SIDEBAR:
@danaluther
Update a service…
SIDEBAR:
@danaluther
Rollback a service…
@danaluther
But what about additional services?
@danaluther
Add new services to our stack
phpMyAdmin — https://www.phpmyadmin.net/
Redis — https://redis.io/
@danaluther
Define the phpMyAdmin service
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
- PMA_ARBITRARY=1
deploy:
replicas: 1
restart_policy:
condition: on-failure
ports:
- 8081:80
<<: *network
volumes:
- /sessions
11_LEMP
@danaluther
Deploy stack updates
> docker stack deploy -c docker-compose.yml hod
11_LEMP
@danaluther
localhost:8081
@danaluther
localhost:8081
@danaluther
Define the redis service
redis:
image: redis:latest
volumes:
- ./data_redis:/data
deploy:
placement:
constraints: [node.role == manager]
<<: *network
12_LEMP
@danaluther
Deploy stack updates
> docker stack deploy -c docker-compose.yml hod
12_LEMP
@danaluther
Verify redis is running
@danaluther
Can I use a GUI to help me?
@danalutherhttps://portainer.io
@danaluther
Deploy the portainer stack
> docker stack deploy -c docker-compose-portainer.yml 
hod_port
12_LEMP
@danaluther
@danaluther
@danaluther
@danaluther
@danaluther
@danaluther
@danaluther
@danaluther
Shut it down!
> docker stack rm hod
> docker swarm leave --force
> docker stack rm hod_port
@danaluther
Questions??
🤔
?
? ?
?
https://www.linkedin.com/in/danaluther
dluther@envisageinternational.com
https://git.io/JvUy5
https://joind.in/talk/d1bc3

Weitere ähnliche Inhalte

Was ist angesagt?

Oracle backup and recovery basics
Oracle backup and recovery basicsOracle backup and recovery basics
Oracle backup and recovery basicsAkira Kusakabe
 
vSAN architecture components
vSAN architecture componentsvSAN architecture components
vSAN architecture componentsDavid Pasek
 
Rac rac one_node説明資料
Rac rac one_node説明資料Rac rac one_node説明資料
Rac rac one_node説明資料Hiroki Morita
 
Step by step installation domino on docker
Step by step installation domino on dockerStep by step installation domino on docker
Step by step installation domino on dockerRoberto Boccadoro
 
Unix shell scripting basics
Unix shell scripting basicsUnix shell scripting basics
Unix shell scripting basicsManav Prasad
 
第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介ksk_ha
 
nexus helm 설치, docker/helm repo 설정과 예제
nexus helm 설치, docker/helm repo 설정과 예제nexus helm 설치, docker/helm repo 설정과 예제
nexus helm 설치, docker/helm repo 설정과 예제choi sungwook
 
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...オラクルエンジニア通信
 
他山の石勉強会 DRBD編
他山の石勉強会 DRBD編他山の石勉強会 DRBD編
他山の石勉強会 DRBD編tkomachi
 
Shell Script Disk Usage Report and E-Mail Current Threshold Status
Shell Script  Disk Usage Report and E-Mail Current Threshold StatusShell Script  Disk Usage Report and E-Mail Current Threshold Status
Shell Script Disk Usage Report and E-Mail Current Threshold StatusVCP Muthukrishna
 
Introduction to failover clustering with sql server
Introduction to failover clustering with sql serverIntroduction to failover clustering with sql server
Introduction to failover clustering with sql serverEduardo Castro
 
Konfigurasi Linux Debian Server
Konfigurasi Linux Debian ServerKonfigurasi Linux Debian Server
Konfigurasi Linux Debian ServerDaris Irfan Atmaja
 
Introduccion a Ansible
Introduccion a AnsibleIntroduccion a Ansible
Introduccion a AnsibleOsvaldo
 
IBM Health Center Details
IBM Health Center DetailsIBM Health Center Details
IBM Health Center DetailsRohit Kelapure
 
Solaris ディープダイブセミナー #4: A-3 障害管理アーキテクチャー Solaris Fault Manager
 Solaris ディープダイブセミナー #4: A-3 障害管理アーキテクチャー Solaris Fault Manager Solaris ディープダイブセミナー #4: A-3 障害管理アーキテクチャー Solaris Fault Manager
Solaris ディープダイブセミナー #4: A-3 障害管理アーキテクチャー Solaris Fault ManagerSolarisJP
 
Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0sprdd
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたTakashi Kanai
 
Oci file storage service deep dive 20181001 ss
Oci file storage service deep dive 20181001 ssOci file storage service deep dive 20181001 ss
Oci file storage service deep dive 20181001 ssKenichi Sonoda
 
stackconf 2020 | Speeding up Linux disk encryption by Ignat Korchagin
stackconf 2020 | Speeding up Linux disk encryption by Ignat Korchaginstackconf 2020 | Speeding up Linux disk encryption by Ignat Korchagin
stackconf 2020 | Speeding up Linux disk encryption by Ignat KorchaginNETWAYS
 
What is the merge window?
What is the merge window?What is the merge window?
What is the merge window?Macpaul Lin
 

Was ist angesagt? (20)

Oracle backup and recovery basics
Oracle backup and recovery basicsOracle backup and recovery basics
Oracle backup and recovery basics
 
vSAN architecture components
vSAN architecture componentsvSAN architecture components
vSAN architecture components
 
Rac rac one_node説明資料
Rac rac one_node説明資料Rac rac one_node説明資料
Rac rac one_node説明資料
 
Step by step installation domino on docker
Step by step installation domino on dockerStep by step installation domino on docker
Step by step installation domino on docker
 
Unix shell scripting basics
Unix shell scripting basicsUnix shell scripting basics
Unix shell scripting basics
 
第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介
 
nexus helm 설치, docker/helm repo 설정과 예제
nexus helm 설치, docker/helm repo 설정과 예제nexus helm 설치, docker/helm repo 설정과 예제
nexus helm 설치, docker/helm repo 설정과 예제
 
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
 
他山の石勉強会 DRBD編
他山の石勉強会 DRBD編他山の石勉強会 DRBD編
他山の石勉強会 DRBD編
 
Shell Script Disk Usage Report and E-Mail Current Threshold Status
Shell Script  Disk Usage Report and E-Mail Current Threshold StatusShell Script  Disk Usage Report and E-Mail Current Threshold Status
Shell Script Disk Usage Report and E-Mail Current Threshold Status
 
Introduction to failover clustering with sql server
Introduction to failover clustering with sql serverIntroduction to failover clustering with sql server
Introduction to failover clustering with sql server
 
Konfigurasi Linux Debian Server
Konfigurasi Linux Debian ServerKonfigurasi Linux Debian Server
Konfigurasi Linux Debian Server
 
Introduccion a Ansible
Introduccion a AnsibleIntroduccion a Ansible
Introduccion a Ansible
 
IBM Health Center Details
IBM Health Center DetailsIBM Health Center Details
IBM Health Center Details
 
Solaris ディープダイブセミナー #4: A-3 障害管理アーキテクチャー Solaris Fault Manager
 Solaris ディープダイブセミナー #4: A-3 障害管理アーキテクチャー Solaris Fault Manager Solaris ディープダイブセミナー #4: A-3 障害管理アーキテクチャー Solaris Fault Manager
Solaris ディープダイブセミナー #4: A-3 障害管理アーキテクチャー Solaris Fault Manager
 
Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみた
 
Oci file storage service deep dive 20181001 ss
Oci file storage service deep dive 20181001 ssOci file storage service deep dive 20181001 ss
Oci file storage service deep dive 20181001 ss
 
stackconf 2020 | Speeding up Linux disk encryption by Ignat Korchagin
stackconf 2020 | Speeding up Linux disk encryption by Ignat Korchaginstackconf 2020 | Speeding up Linux disk encryption by Ignat Korchagin
stackconf 2020 | Speeding up Linux disk encryption by Ignat Korchagin
 
What is the merge window?
What is the merge window?What is the merge window?
What is the merge window?
 

Ähnlich wie Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP

Hands on Docker - Launch your own LEMP or LAMP stack
Hands on Docker -  Launch your own LEMP or LAMP stackHands on Docker -  Launch your own LEMP or LAMP stack
Hands on Docker - Launch your own LEMP or LAMP stackDana Luther
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For DevelopmentLaura Frank Tacho
 
DCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDocker, Inc.
 
Docker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak PeekDocker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak Peekmsyukor
 
5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CISebastian Witowski
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Velocidex Enterprises
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis OverviewLeo Lorieri
 
Dockerize Laravel Application
Dockerize Laravel ApplicationDockerize Laravel Application
Dockerize Laravel ApplicationAfrimadoni Dinata
 
Docker for developers on mac and windows
Docker for developers on mac and windowsDocker for developers on mac and windows
Docker for developers on mac and windowsDocker, Inc.
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornPROIDEA
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作Philip Zheng
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionBen Hall
 
Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020CloudHero
 
Docker Introduction.pdf
Docker Introduction.pdfDocker Introduction.pdf
Docker Introduction.pdfOKLABS
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushPantheon
 
Zero Downtime Deployment with Ansible
Zero Downtime Deployment with AnsibleZero Downtime Deployment with Ansible
Zero Downtime Deployment with AnsibleStein Inge Morisbak
 
Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant Ricardo Amaro
 
Super powered Drupal development with docker
Super powered Drupal development with dockerSuper powered Drupal development with docker
Super powered Drupal development with dockerMaciej Lukianski
 
Streamline your development environment with docker
Streamline your development environment with dockerStreamline your development environment with docker
Streamline your development environment with dockerGiacomo Bagnoli
 

Ähnlich wie Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP (20)

Hands on Docker - Launch your own LEMP or LAMP stack
Hands on Docker -  Launch your own LEMP or LAMP stackHands on Docker -  Launch your own LEMP or LAMP stack
Hands on Docker - Launch your own LEMP or LAMP stack
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
 
DCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker Containers
 
Docker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak PeekDocker for Web Developers: A Sneak Peek
Docker for Web Developers: A Sneak Peek
 
5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI5 Things I Wish I Knew About Gitlab CI
5 Things I Wish I Knew About Gitlab CI
 
Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3Digital Forensics and Incident Response in The Cloud Part 3
Digital Forensics and Incident Response in The Cloud Part 3
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
 
Dockerize Laravel Application
Dockerize Laravel ApplicationDockerize Laravel Application
Dockerize Laravel Application
 
Docker for developers on mac and windows
Docker for developers on mac and windowsDocker for developers on mac and windows
Docker for developers on mac and windows
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
 
Learning Docker with Thomas
Learning Docker with ThomasLearning Docker with Thomas
Learning Docker with Thomas
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
 
Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020
 
Docker Introduction.pdf
Docker Introduction.pdfDocker Introduction.pdf
Docker Introduction.pdf
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
 
Zero Downtime Deployment with Ansible
Zero Downtime Deployment with AnsibleZero Downtime Deployment with Ansible
Zero Downtime Deployment with Ansible
 
Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant
 
Super powered Drupal development with docker
Super powered Drupal development with dockerSuper powered Drupal development with docker
Super powered Drupal development with docker
 
Streamline your development environment with docker
Streamline your development environment with dockerStreamline your development environment with docker
Streamline your development environment with docker
 

Mehr von Dana Luther

Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
How to analyze your codebase with Exakat using Docker - Longhorn PHP
How to analyze your codebase with Exakat using Docker - Longhorn PHPHow to analyze your codebase with Exakat using Docker - Longhorn PHP
How to analyze your codebase with Exakat using Docker - Longhorn PHPDana Luther
 
Keep it Secret, Keep it Safe - Docker Secrets and DI
Keep it Secret, Keep it Safe - Docker Secrets and DIKeep it Secret, Keep it Safe - Docker Secrets and DI
Keep it Secret, Keep it Safe - Docker Secrets and DIDana Luther
 
Integrated Feature Management - Using Feature Flags - PHPSerbia
Integrated Feature Management - Using Feature Flags - PHPSerbiaIntegrated Feature Management - Using Feature Flags - PHPSerbia
Integrated Feature Management - Using Feature Flags - PHPSerbiaDana Luther
 
Integrated Feature Management - Using Feature Flags - MidwestPHP
Integrated Feature Management - Using Feature Flags - MidwestPHPIntegrated Feature Management - Using Feature Flags - MidwestPHP
Integrated Feature Management - Using Feature Flags - MidwestPHPDana Luther
 
Integrated Feature Management - Using Feature Flags - SunshinePHP
Integrated Feature Management - Using Feature Flags - SunshinePHPIntegrated Feature Management - Using Feature Flags - SunshinePHP
Integrated Feature Management - Using Feature Flags - SunshinePHPDana Luther
 
Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]Dana Luther
 
Converting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaConverting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaDana Luther
 
Converting your DEV Environment to a Docker Stack - ZCOE18
Converting your DEV Environment to a Docker Stack - ZCOE18Converting your DEV Environment to a Docker Stack - ZCOE18
Converting your DEV Environment to a Docker Stack - ZCOE18Dana Luther
 
Converting Your DEV Environment to a Docker Stack
Converting Your DEV Environment to a Docker StackConverting Your DEV Environment to a Docker Stack
Converting Your DEV Environment to a Docker StackDana Luther
 
Code Coverage for Total Security in Application Migrations
Code Coverage for Total Security in Application MigrationsCode Coverage for Total Security in Application Migrations
Code Coverage for Total Security in Application MigrationsDana Luther
 

Mehr von Dana Luther (11)

Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
How to analyze your codebase with Exakat using Docker - Longhorn PHP
How to analyze your codebase with Exakat using Docker - Longhorn PHPHow to analyze your codebase with Exakat using Docker - Longhorn PHP
How to analyze your codebase with Exakat using Docker - Longhorn PHP
 
Keep it Secret, Keep it Safe - Docker Secrets and DI
Keep it Secret, Keep it Safe - Docker Secrets and DIKeep it Secret, Keep it Safe - Docker Secrets and DI
Keep it Secret, Keep it Safe - Docker Secrets and DI
 
Integrated Feature Management - Using Feature Flags - PHPSerbia
Integrated Feature Management - Using Feature Flags - PHPSerbiaIntegrated Feature Management - Using Feature Flags - PHPSerbia
Integrated Feature Management - Using Feature Flags - PHPSerbia
 
Integrated Feature Management - Using Feature Flags - MidwestPHP
Integrated Feature Management - Using Feature Flags - MidwestPHPIntegrated Feature Management - Using Feature Flags - MidwestPHP
Integrated Feature Management - Using Feature Flags - MidwestPHP
 
Integrated Feature Management - Using Feature Flags - SunshinePHP
Integrated Feature Management - Using Feature Flags - SunshinePHPIntegrated Feature Management - Using Feature Flags - SunshinePHP
Integrated Feature Management - Using Feature Flags - SunshinePHP
 
Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]Converting Your Dev Environment to a Docker Stack - php[world]
Converting Your Dev Environment to a Docker Stack - php[world]
 
Converting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaConverting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - Cascadia
 
Converting your DEV Environment to a Docker Stack - ZCOE18
Converting your DEV Environment to a Docker Stack - ZCOE18Converting your DEV Environment to a Docker Stack - ZCOE18
Converting your DEV Environment to a Docker Stack - ZCOE18
 
Converting Your DEV Environment to a Docker Stack
Converting Your DEV Environment to a Docker StackConverting Your DEV Environment to a Docker Stack
Converting Your DEV Environment to a Docker Stack
 
Code Coverage for Total Security in Application Migrations
Code Coverage for Total Security in Application MigrationsCode Coverage for Total Security in Application Migrations
Code Coverage for Total Security in Application Migrations
 

Kürzlich hochgeladen

Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLimonikaupta
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...sonatiwari757
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts servicesonalikaur4
 
SEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistSEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistKHM Anwar
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Standkumarajju5765
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 

Kürzlich hochgeladen (20)

Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
 
SEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistSEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization Specialist
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 

Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP