Karl Matthias Sean P. Kane

Documentos relacionados
Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Introdução ao GitHub Peter Bell e Brent Beer

Novatec Editora Ltda

Adrian Mouat. Novatec

Primeiros Passos com o Netduino

Ryan Mitchell. Novatec

Benjamin Bengfort Jenny Kim

Primeiros Passos com Sensores Kimmo Karvinen Tero Karvinen

Miguel Grinberg. Novatec

Primeiros Passos com o Arduino

Allan Liska e Timothy Gallo. Novatec

Shyam Seshadri & Brad Green

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

Allen B. Downey. Novatec

Introdução às. Expressões Regulares. Michael Fitzgerald. Novatec

Kenneth Reitz Tanya Schlusser

Wellington Figueira da Silva. Novatec

Sumário. Prefácio Capítulo 1 Orientação e primeiras etapas Capítulo 2 Dados: trabalhando com texto e números... 40

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Jody Culkin e Eric Hagan

Chris Binnie. Novatec

A Arte de Escrever Programas Legíveis

Shelley Powers. Novatec

Guia Prático Richard E. Silverman

Primeiros Passos com o Arduino Massimo Banzi

Expressões Regulares Cookbook Jan Goyvaerts Steven Levithan

Adrian Pruteanu. Novatec

Matheus Marabesi Michael Douglas

Raspberry Pi Manual do Usuário

Sérgio de Oliveira. Novatec

William Pereira Alves

Aaron Newcomb. Novatec

Objective-C Fundamental Christopher K. Fairbairn Johannes Fahrenkrug Collin Ruffenach

Ben Vinegar Anton Kovalyov

Primeiros Passos com o Raspberry Pi

Guia Mangá Circuitos Eletrônicos

Aditya Y. Bhargava. Novatec

Guia Mangá. Álgebra Linear. Shin Takahashi, Iroha Inoue e Trend-Pro Co., Ltd. novatec

Indira Knight. Novatec

Ademir C. Gabardo. Novatec

Arduino Básico. 2ª edição. Michael McRoberts. Novatec

Editor: Rubens Prates Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Assistente editorial: Priscila A.

Julia Elman e Mark Lavin. Novatec

Desenvolvimento de Grandes Aplicações Web

Novatec Editora Ltda

Semmy Purewal. Novatec

Design Centrado no Usuário

Hélio Engholm Jr. Novatec

Luiz Eduardo Borges. Novatec

Novatec Editora Ltda. [2014].

Jessey Bullock Jeff T. Parker

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI 2a Edição Maurício Samy Silva Novatec

Arduino Básico Michael McRoberts

Análise de Regressão

André Gugliotti. Novatec

Jonathan Stark Brian Jepson

Vinícius Manhães Teles prefácio de Kent Beck colaborações especiais de Kent Beck e Robert Mee

Novatec Editora Ltda

Jonathan Weber e a equipe da LunaMetrics

2ª Edição Cláudio Torres

Guia Mangá Motores elétricos

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI Maurício Samy Silva Novatec

Web Interativa com Ajax e PHP

Jarrod Overson e Jason Strimpel

Guia Mangá. Microprocessadores. Michio Shibuya, Takashi Tonagi e Office Sawa. Novatec

PDF Explicado John Whitington

Introdução ao GitHub Peter Bell e Brent Beer

Guia Mangá FISIOLOGIA. Etsuro Tanaka, Keiko Koyama, e Becom Co., Ltd. Novatec

AngularJS. Uma abordagem prática e objetiva. Michael Henrique R. Pereira. Novatec

Adriano Pataro. Novatec

Aprendendo Programação. ios. Alasdair Allan. Novatec

Guia Mangá Circuitos Eletrônicos

Ademir Ribeiro dos Passos

Osvaldo Santana Thiago Galesi

Métricas. Como melhorar os principais resultados de sua empresa. Martin Klubeck. Novatec

Pedro Monteiro da Silva Eleutério Marcio Pereira Machado. Novatec

Google Analytics Justin Cutroni

PHP. Programando com Orientação a Objetos. Pablo Dall Oglio. Novatec

Robson Santos da Silva

Rodrigo de Barros Paes

Roberto Cohen. Novatec

Aravind Shenoy Anirudh Prabhu

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

Chris Goward. Novatec

A Arte de Escrever Programas Legíveis

Pete Goodliffe. Novatec

Desenvolvendo Websites com PHP

Ademir Cristiano Gabardo. Novatec

Maurício Samy Silva. Novatec

3ª Edição Nilo Ney Coutinho Menezes

WordPress 3 Básico Stephanie Leary

A Arte de SEO. Eric Enge, Stephan Spencer, Jessie Stricchiola e Rand Fishkin Introdução de John Battelle. Novatec

Dinâmica dos fluidos

Edécio Fernando Iepsen

Allan Liska Geoffrey Stowe

Simon Holmes. Novatec

Daniel Marcos Cunha Pereira

Ademir C. Gabardo. Novatec

Programando para. iphone e ipad. Aprenda a construir aplicativos para o ios. André Milani. Novatec

Transcrição:

Karl Matthias Sean P. Kane Novatec

Authorized Portuguese translation of the English edition of titled Docker: Up and Running, ISBN 9781491917572 2015 Karl Matthias, Sean P. Kane. This translation is published and sold by permission of O'Reilly Media, Inc., the owner of all rights to publish and sell the same. Tradução em português autorizada da edição em inglês da obra Docker: Up and Running, ISBN 9781491917572 2015 Karl Matthias, Sean P. Kane. Esta tradução é publicada e vendida com a permissão da O'Reilly Media, Inc., detentora de todos os direitos para publicação e venda desta obra. Novatec Editora Ltda. 2016. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates YG20151222 Assistente editorial: Priscila A. Yoshimatsu Tradução: Alison Miazaki Revisão técnica: Rafael Gomes Revisão gramatical: Lia Gabriele Regius Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-473-1 Histórico de impressões: Janeiro/2016 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 E-mail: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec

Sumário Apresentação... 13 Prefácio... 17 Capítulo 1 Introdução... 22 Origem do Docker... 22 O que esperar do Docker... 22 Benefícios do fluxo de trabalho do Docker... 25 O que o Docker não é...27 Capítulo 2 Panorama do Docker... 29 Simplificação de processos... 29 Amplo suporte e adoção...32 Arquitetura...33 Modelo cliente/servidor...33 Portas de rede e sockets Unix... 34 Ferramental robusto...35 Ferramenta de linha de comando...35 Application Programming Interface (API)... 36 Contêineres na rede...37 Como aproveitar o Docker ao máximo... 38 Contêineres não são máquinas virtuais...39 Contêineres são leves...39 Rumo a uma infraestrutura imutável... 40 Isolamento limitado... 40 Aplicações stateless...41 Externalização do estado...42 Fluxo de trabalho do Docker...43 Controle de revisão...43 Fazendo o build...45 Teste...45 7

8 Primeiros passos com Docker Empacotamento... 46 Implantação...47 Ecossistema do Docker...47 Resumo... 49 Capítulo 3 Instalação do Docker... 50 Terminologia importante... 50 Cliente do Docker...51 Linux...52 Mac OS X 10.10...53 Microsoft Windows 8... 54 Servidor Docker...55 Linux que usam Systemd...55 Sistemas Linux que usam Upstart... 56 Sistemas Linux que usam init.d... 56 Servidores não Linux baseados em máquinas virtuais... 56 Teste da instalação... 66 Ubuntu... 67 Fedora... 67 CentOS... 67 Resumo... 67 Capítulo 4 Como trabalhar com imagens do Docker... 68 Anatomia de um Dockerfile... 68 Build de uma imagem... 72 Execução de sua imagem... 77 Variáveis de ambiente...78 Imagens-base personalizadas...79 Armazenamento de imagens... 80 Registros públicos... 80 Registros privados...81 Autenticação de um registro...81 Espelhamento de um registro... 83 Outras abordagens para a entrega de imagens... 87 Capítulo 5 Como trabalhar com contêineres... 88 O que são contêineres?... 88 A história dos contêineres... 89 Criação de um contêiner...91 Configuração básica...91

Sumário 9 Volumes de armazenamento... 96 Quotas de recursos... 97 Inicialização de um contêiner...104 Reinicialização automática de um contêiner...105 Interrupção de um contêiner...106 Eliminação de um contêiner...107 Como pausar e retomar um contêiner...108 Limpeza de contêineres e imagens...109 Próximo passos...111 Capítulo 6 Explorando o Docker...112 Impressão da versão do Docker...112 Informações do servidor... 114 Download de atualizações de imagem... 114 Verificação de um contêiner...115 Interior de um contêiner em execução...117 docker exec...117 nsenter...118 Explorando o shell...121 Retorno de um resultado...122 Logs do Docker...123 Monitoramento do Docker...126 Estatísticas do contêiner...127 Eventos do Docker...131 cadvisor...132 Resumo...137 Capítulo 7 Caminho para contêineres produtivos... 138 Implantação (deploying)...138 Classes de ferramental...139 Ferramentas de orquestração...140 Schedulers distribuídos... 141 Resumo sobre implantações...143 Teste de contêineres...143 Uma visão geral...144 Dependências externas...147 Capítulo 8 Depuração de contêineres... 149 Saída de processo...149 Inspeção de processos...154

10 Primeiros passos com Docker Controle de processos...155 Inspeção de rede...156 Histórico de imagem...158 Verificação de um contêiner...158 Verificação de filesystem...160 Indo em frente...161 Capítulo 9 Escalando o Docker... 162 Docker Swarm...163 Centurion...168 Amazon EC2 Container Service...173 Configuração de função do IAM... 174 Configuração do AWS CLI...175 Instâncias de contêiner...177 Tasks...180 Teste da task...186 Interrupção da task...187 Resumo...188 Capítulo 10 Tópicos avançados... 189 Backends plugáveis...189 Drivers de execução...190 Armazenamento...194 Contêineres em detalhe...197 Grupos de controle (cgroups)...198 Namespaces de kernel e namespaces de usuário...203 Segurança...206 O quão seguro é o seu contêiner?...207 O quão seguro é o daemon do Docker?...214 Redes...215 Capítulo 11 Projetando sua plataforma de contêineres de produção... 220 A aplicação Twelve-factor...221 Base de código...221 Dependências...222 Configurações...224 Serviços de suporte...226 Build, release, run...227 Processos...227 Binding de portas...228

Sumário 11 Concorrência...228 Descartabilidade...229 Desenvolvimento/produção semelhantes...229 Logs... 230 Processos de admin...231 Resumo dos doze-fatores...231 O manifesto reativo...231 Responsivo...232 Resiliente...232 Elástico...232 Orientação a mensagens...233 Em resumo...233 Capítulo 12 Conclusão... 234 Os desafios... 234 O fluxo de trabalho do Docker...235 Minimização de artefatos de implantação...236 Otimização de armazenamento e recuperação...237 A recompensa...237 Considerações finais...238 Sobre os autores... 239 Colofão... 240