Desenvolvimento local reproduzível
"We help developers and development teams build and ship apps. -- docker.com
Só umas "versõezinhas" diferentes!
Linux com:
PHP
pasta "app"
10 ficheiros
2 fotos
container e image
processo e programa
image - "cópia de um sistema configurado de certo modo" (snapshot)
serve de "esqueleto" para criar "containers"
tem sistema operativo, software, e ficheiros (como código)
Linux com:
PHP
pasta "app"
ficheiros websites
container e image
processo e programa
o meu linux
base para
o meu linux para wordpress
o meu linux para laravel
o meu linux para wordpress
o meu linux para wordpress
o meu linux para wordpress
o meu linux para wordpress
o meu linux para prestashop
independentes (não se misturam)
não "estragam" sistema real
podem "comunicar"
volume - "portal" de partilha de ficheiros entre contentores e "sistema real"
- ideal para ficheiros editados frequentemente
- ex.: ficheiros de website
o meu linux para wordpress
o meu linux para wordpress
o meu linux para wordpress
o meu linux para wordpress
o meu linux para wordpress
sistema real
lib
home
bin
projeto
etc
root
Docs
projeto
Windows
Imagens
Música
Sei lá
partilhados
index.html
gato.png
network?
Como usar o Docker para...
Correr um contentor
Como usar o Docker para...
Linux com:
PHP
pasta "app"
ficheiros websites
o meu linux
Dockerfile - criar imagem
Comandos docker
Cria e arranca um contentor com base numa imagem
Parâmetro | Descrição |
---|---|
--rm | apaga contentor, depois de correr |
-e | define variáveis de ambiente |
-it | |
Criar servidor php em docker
Exercícios com Docker
docker run -d -p 80:80 --name apache-php-test -v "$PWD":/var/www/html php:7.2-apache
Exercícios com Docker
mas com Dockerfile
docker build -t php-apache-custom ./
docker run -d -p 80:80 --name apache-php-test -v "$PWD":/var/www/html php-apache-custom
FROM php:7.2-apache
COPY ./ /var/www/html
EXPOSE 80
Dockerfile
Vantagem?
Personalização
Exercícios com Docker
mas com docker-compose
docker-compose up
version: '2'
services:
php-apache-custom:
image: php:7.2-apache
ports:
- "80:80"
volumes:
- ./:/var/www/html
docker-compose.yml
MUITO mais simples!
Exercícios com Docker
mas com docker-compose E Dockerfile
docker build -t php-apache-custom ./
docker-compose up
version: '2'
services:
php-apache-custom:
image: php-apache-custom
ports:
- "80:80"
volumes:
- ./:/var/www/html
docker-compose.yml
Simplicidade + Personalização
FROM php:7.2-apache
COPY ./ /var/www/html
EXPOSE 80
Dockerfile
Exercícios com Docker
mas com docker-compose E Dockerfile
(+ simples)
docker-compose up
version: '2'
services:
php-apache-custom:
build:
context: .
dockerfile: Dockerfile
ports:
- "80:80"
volumes:
- ./:/var/www/html
docker-compose.yml
AINDA MAIS
Simplicidade + Personalização
FROM php:7.2-apache
COPY ./ /var/www/html
EXPOSE 80
Dockerfile
correr uma aplicação isolada em Docker com base:
Nome projeto | |
---|---|
Instruções para correr | |
tecnologias usadas pelo projeto (não têm de ser todas) | |
Link projeto (dockerhub, github) | |
Interfaces gráficas (GUI) alternativas à linha de comandos
Apps windows, linux, Mac OS
Plugins/Extensões
Minecraft?!