
Claudio A. Silva
Fundador: DuZeru Community
Analista de infraestrutura
Certificações:
ITIL (Information Technology Infrastructure Library)
Ethical hacking
CTFL (Certified Tester Foundation Level)
Green IT Citizen
ISMP (Information Security Management Professional baseado na ISO / IEC 27001)
CompTia Linux+
LFX (Linux Foundation professional Institute Certified)
Flexíveis: Até mesmo os aplicativos mais complexos podem ser conteinerizados.
Leves: os contêineres aproveitam e compartilham o kernel e recursos do host.
Intercambiáveis: você pode implantar atualizações facilmente (up-on-the-fly).
Portáteis: você cria localmente, implantar na nuvem e executar em qualquer lugar.
Escaláveis: você aumenta e diminui automaticamente as réplicas de contêineres.
Empilháveis: você pode empilhar serviços verticalmente
Linguagem
O Docker é escrito em GO
Namespaces
Para fornecer o espaço de trabalho isolado chamado contêiner, namespaces fornecem uma camada de isolamento.
pid namespace: Isolamento do processo.
net namespace: Gerenciando interfaces de rede.
ipc namespace: Gerenciando o acesso aos recursos do IPC.
mnt namespace: Gerenciando pontos de montagem do sistema de arquivos.
uts namespace: Isolando o kernel e identificadores de versão.
Control groups
O cgroup limita um aplicativo a um conjunto de recursos. Por exemplo, você pode limitar a memória disponível para um contêiner específico.
Union file systems
O sistema de arquivos da União, é um sistema de arquivos que opera criando camadas, tornando-as muito leves e rápidas.
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce
#sudo apt-get update
#apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
#curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
#apt-key fingerprint 0EBFCD88
#nano /etc/apt/soources.list
deb [arch=amd64] https://download.docker.com/linux/debian stretch stable
#apt-get update
# apt-get install docker-ce
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install docker-ce
$ sudo dnf -y install dnf-plugins-core
$ sudo dnf config-manager \
--add-repo \
https://download.docker.com/linux/fedora/docker-ce.repo
$ sudo dnf install docker-ce
Apreenderemos como criar um contêiner com banco de dados Mysql, com persistência de dados (caso o contêiner morra), uma tablespace, um usuário. Este banco de dados e métodos podem ser utilizados para 1 ou N contêineres
Neste vídeo utilizamos o Ubuntu na versão 16.04, PHP, Apache e inserimos o TeamPass (gerenciador de senhas) cmo serviço principal. O TeamPass fará acesso direto ao Banco de Dados criados anteriomente.
Vamos trabalhar neste vídeo os seguintes requisitos:
Criar uma tabela de banco de dados para o WordPress.
Criar um Dockerfile baseado em HowTo da web
Tratar problemas com geração da imagem de Contêiner
Validar a criação da imagem criando um contêiner com persistência de dados.
Criação de uma imagem personalizada com Ubuntu e Nginx subindo um website em HTML. Arquivos utilizados neste vídeo estão disponíveis para download.
Neste vídeo vamos adicionar uma tag às images, aprender como enviar imagens personalizadas para o repositório Hub Docker.
Instalar o Portainer e verificar suas funcionalidades.
Criar contêineres no Portainer.
Bem vindo!
Estou animado com o fato de você querer aprender o Docker.
ESTE TREINAMENTO FOI FEITO COM CARINHO, ANTES DE PENSAR EM VALORES, ME PREOCUPEI EM UMA DIDÁTICA SIMPLES PARA COISAS COMPLEXAS.
Docker é uma tecnologia que otimiza a infraestrutura e oferece ótimo custo benefício. Os contêineres permitem que você encapsule a sua aplicação e a execute em qualquer lugar. Sabe aquele ditado: “na minha máquina funciona”?, Pois bem, com Docker realmente não precisa se preocupar com a compatibilidade de Migração, assim damos um fim ao dependency hell (inferno das dependências), pois tudo que você precisa para atender o seu serviço ou aplicação estará dentro do contêiner.
A construção do Docker foi iniciada por Solomon Hykes, na França, dentro da empresa DotCloud, Docker representa a evolução da tecnologia proprietária da DotCloud.
Este treinamento é um resumo de diversas informações colhidas de forma simples e objetiva como deve ser. Se você só ouviu falar em termos como:
Docker;
Container;
Swarm;
cluster;
deploy;
Rancher
Portainer
Outros;
Esta é a oportunidade para entender definitivamente. Esta é uma das premissas deste treinamento.