Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Simplilearn
This presentation about Docker tutorial will help you understand what is Docker, advantages of Docker, how does Docker work, components of Docker, virtual machine vs Docker, advanced concepts in Docker, basic Docker commands along with a demo. A Docker is an OS-level virtualization software that enables developers and IT administrators to create, deploy and run applications in a Docker container with all their dependencies. It is said to be a very light-weight software container and containerization platform. Docker engine or Docker is a client-server application that builds and executes using Docker components. Rapid deployment, portability, better efficiency, faster configuration, scalability, security are some of the advantages you get by using Docker.
Below topics are explained in this Docker presentation:
1. Virtual machine vs Docker
2. What is Docker?
3. Advantages of Docker
4. How does Docker work?
5. Components of Docker
6. Advanced concepts in Docker
7. Basic Docker commands
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
This DevOps training course will be of benefit the following professional roles:
1. Software Developers
2. Technical Project Managers
3. Architects
4. Operations Support
5. Deployment engineers
6. IT managers
7. Development managers
You can learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Docker é uma plataforma open source usada para construir, executar e distribuir ambientes de forma portátil e simples. A oficina irá apresentar o que é Docker, sua arquitetura, instalação, comandos básicos como containers, imagens e Dockerfile, e orquestrar containers com Docker Compose.
O Docker permite criar, executar e implantar aplicações dentro de containers de software de forma rápida e confiável. Os containers fornecem isolamento de processos e recursos para as aplicações. O Docker começou como um projeto open source em 2013 e se tornou uma tecnologia popular para desenvolvimento e implantação de aplicações.
Docker is an open source containerization platform that allows applications to be easily deployed and run across various operating systems and cloud environments. It allows applications and their dependencies to be packaged into standardized executable units called containers that can be run anywhere. Containers are more portable and provide better isolation than virtual machines, making them useful for microservices architecture, continuous integration/deployment, and cloud-native applications.
Introduction to Docker presented by MANAOUIL Karim at the Shellmates's Hack.INI event. The teams deployed were assisted to deploy a Python Flask application behind an Nginx load balancer.
Docker is a system for running applications securely isolated in a container to provide a consistent deployment environment. The document introduces Docker, discusses the challenges of deploying applications ("the matrix from hell"), and how Docker addresses these challenges by allowing applications and their dependencies to be packaged into lightweight executable containers that can run on any infrastructure. It also summarizes key Docker tools like Docker Compose for defining and running multi-container apps, Docker Machine for provisioning remote Docker hosts in various clouds, and Docker Swarm for clustering Docker hosts.
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Simplilearn
This presentation about Docker tutorial will help you understand what is Docker, advantages of Docker, how does Docker work, components of Docker, virtual machine vs Docker, advanced concepts in Docker, basic Docker commands along with a demo. A Docker is an OS-level virtualization software that enables developers and IT administrators to create, deploy and run applications in a Docker container with all their dependencies. It is said to be a very light-weight software container and containerization platform. Docker engine or Docker is a client-server application that builds and executes using Docker components. Rapid deployment, portability, better efficiency, faster configuration, scalability, security are some of the advantages you get by using Docker.
Below topics are explained in this Docker presentation:
1. Virtual machine vs Docker
2. What is Docker?
3. Advantages of Docker
4. How does Docker work?
5. Components of Docker
6. Advanced concepts in Docker
7. Basic Docker commands
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
This DevOps training course will be of benefit the following professional roles:
1. Software Developers
2. Technical Project Managers
3. Architects
4. Operations Support
5. Deployment engineers
6. IT managers
7. Development managers
You can learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Docker é uma plataforma open source usada para construir, executar e distribuir ambientes de forma portátil e simples. A oficina irá apresentar o que é Docker, sua arquitetura, instalação, comandos básicos como containers, imagens e Dockerfile, e orquestrar containers com Docker Compose.
O Docker permite criar, executar e implantar aplicações dentro de containers de software de forma rápida e confiável. Os containers fornecem isolamento de processos e recursos para as aplicações. O Docker começou como um projeto open source em 2013 e se tornou uma tecnologia popular para desenvolvimento e implantação de aplicações.
Docker is an open source containerization platform that allows applications to be easily deployed and run across various operating systems and cloud environments. It allows applications and their dependencies to be packaged into standardized executable units called containers that can be run anywhere. Containers are more portable and provide better isolation than virtual machines, making them useful for microservices architecture, continuous integration/deployment, and cloud-native applications.
Introduction to Docker presented by MANAOUIL Karim at the Shellmates's Hack.INI event. The teams deployed were assisted to deploy a Python Flask application behind an Nginx load balancer.
Docker is a system for running applications securely isolated in a container to provide a consistent deployment environment. The document introduces Docker, discusses the challenges of deploying applications ("the matrix from hell"), and how Docker addresses these challenges by allowing applications and their dependencies to be packaged into lightweight executable containers that can run on any infrastructure. It also summarizes key Docker tools like Docker Compose for defining and running multi-container apps, Docker Machine for provisioning remote Docker hosts in various clouds, and Docker Swarm for clustering Docker hosts.
Dockerized containers are the current wave that promising to revolutionize IT. Everybody is talking about containers, but a lot of people remain confused on how they work and why they are different or better than virtual machines. In this session, Black Duck container and virtualization expert Tim Mackey will demystify containers, explain their core concepts, and compare and contrast them with the virtual machine architectures that have been the staple of IT for the last decade.
Docker allows users to package applications with all their dependencies into standardized units called containers that can run on any Linux server. Containers are more lightweight than virtual machines because they share the host operating system and only require the additional libraries and binaries needed to run the application rather than a full guest operating system. Docker uses containers and an image format to deploy applications in a consistent manner across development, testing, and production. The document provides examples of how to define a Dockerfile to build an image, run containers from images using docker-compose, and common Docker commands.
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
This presentation on Docker Container will help you understand what is Docker, the architecture of Docker, what is a Docker Container, how to create a Docker Container, benefits of Docker Container, basic commands of Containers and you will also see a demo on creating Docker Container. Docker is a very lightweight software container and containerization platform. Docker containers provide a way to run software in isolation. It is an open source platform that helps to package an application and its dependencies into a Docker container for the development and deployment of software and a Docker COntainer is a portable executable package which includes applications and their dependencies. With Docker Containers, applications can work efficiently in different computer environments.
Below DevOps tools are explained in this Docker Container presentation:
1. What is Docker?
2. The architecture of Docker?
3. What is a Docker Container?
4. How to create a Docker Container?
5. Benefits of Docker Containers
6. Basic commands of Containers
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Docker allows building, shipping, and running applications in portable containers. It packages an application with all its dependencies into a standardized unit for software development. Major cloud providers and companies support and use Docker in production. Containers are more lightweight and efficient than virtual machines, providing faster launch times and allowing thousands to run simultaneously on the same server. Docker simplifies distributing applications and ensures a consistent environment.
O documento descreve o que é o Docker, suas principais características como leveza, segurança e abertura. Explica as diferenças entre containers e máquinas virtuais e como o Docker pode reduzir custos e agilizar o deploy de aplicações. Detalha os principais comandos do Docker e o fluxo de trabalho, incluindo a criação de um Dockerfile.
This document provides an introduction to Docker and containers. It discusses why containers are useful for software deployment given changes in the industry. Containers provide lightweight isolation of applications and their dependencies. Docker is a tool that manages containers running on the same operating system kernel. Key Docker components include the client, server, images, and containers. Popular use cases of Docker include Google running over a billion containers per week and Finnish Railways saving 50% of cloud costs with Docker.
Docker allows you to package applications with their dependencies into standardized units called containers that can run on any Linux server. Containers are more portable and efficient than virtual machines, starting in milliseconds and using less disk space. Docker makes it easy to deploy and run applications without having to rebuild environments and guarantees that an application will run the same regardless of the infrastructure it is running on.
Docker is a platform that allows users to build, ship, and run applications by using containers. It solves issues like dependency conflicts, portability, and consistency across development and production. Docker uses containers- isolated environments that package code and dependencies together- to deliver software quickly and reliably. Key Docker concepts include images (read-only templates for creating containers), volumes (for persistent data), registries (for sharing images), and compose files (for defining multi-container apps). Docker also provides networking and clustering functionality to connect containers across multiple hosts.
Being a newer technology, Docker has yet to make its way into some computer science training programs. College programs, bootcamps, and online resources have yet to jump onto the container train; so, what's the best way for newer engineers to learn Docker from square one? Chloe (former actress turned developer) tells her story about how she went from wondering "What's a Docker?" to helping teach others about Docker and instead asking "What?? You haven't heard of Docker?". This talk is perfect for anyone new to Docker looking for how to get started, or for those interested in learning how to teach Docker to new users.
Docker is an open platform for developing, shipping, and running distributed applications. It allows applications to be shipped and run in lightweight containers that can run on any Linux server. Docker uses operating-system-level virtualization and cgroups isolation to deliver lightweight containers quickly. Key features of Docker include portability, lightweight containers that share resources and isolate processes, and automated workflows.
Docker allows for easy deployment and management of applications by wrapping them in containers. It provides benefits like running multiple isolated environments on a single server, easily moving applications between environments, and ensuring consistency across environments. The document discusses using Docker for development, production, and monitoring containers, and outlines specific benefits like reducing deployment time from days to minutes, optimizing hardware usage, reducing transfer sizes, and enhancing productivity. Future plans mentioned include using Kubernetes for container orchestration.
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...SlideTeam
Introducing An Architectural Deep Dive With Kubernetes And Containers PowerPoint Presentation Slides. Present the need for the containers in an organization with the help of a readily available PPT slideshow. Discuss container architecture, use cases details to make your presentation elaborative. Showcase the features, architecture, installation roadmap, and the 30-60-90 day plan in Kubernetes with the help of modern-designed PPT infographics. Familiarize your viewers with the various components of Kubernetes with the help of content-ready Kubernetes Docker PPT visuals. Make full use of high-quality icons to make your presentation attention-grabbing and meaningful. Compare and contrast Kubernetes with docker swarm based on various parameters with the help of this attention-grabbing PPT slideshow. Elaborate on Kubelet, Kubectl, and Kubeadm with the help of labeled diagrams. Showcase the networking model of Kubernetes, security measures, and the development process with this easy-to-use docker Architecture PowerPoint template. Therefore, hit the download button now to grab this amazing presentation. https://bit.ly/3vtLeFb
The document discusses Dockerfiles, which are used to build Docker images. A Dockerfile contains instructions like FROM, RUN, COPY, and CMD to set the base image, install dependencies, add files, and define the main process. Images are read-only layers built using these instructions. Dockerfiles can be built locally into images and published to repositories for sharing. Volumes are used to persist data outside the container.
This document provides instructions on installing and using Docker on Linux (Ubuntu) and Windows. It discusses installing Docker on Ubuntu, basic Docker commands like images, ps, pull, run options for ports, volumes, and other commands. For Windows, it recommends using Docker Toolbox which includes Docker Machine, Engine, Compose and Kitematic GUI. It also covers installing the newer Docker for Windows which requires Windows 10 Pro/Enterprise with Hyper-V enabled.
A Comprehensive Introduction to Kubernetes. This slide deck serves as the lecture portion of a full-day Workshop covering the architecture, concepts and components of Kubernetes. For the interactive portion, please see the tutorials here:
https://github.com/mrbobbytables/k8s-intro-tutorials
Docker is an open platform for developing, shipping, and running applications. It allows packaging applications into standardized units for software called containers that can run on any infrastructure. The key components of Docker include images, containers, a client-server architecture using Docker Engine, and registries for storing images. Images act as templates for creating containers, which are run-time instances of images. Docker provides portability and isolation of applications using containers.
This document provides an introduction to Docker and discusses:
- The challenges of managing applications across different environments which Docker aims to solve through lightweight containers.
- An overview of Docker concepts including images, containers, the Docker workflow and networking.
- How Docker Compose allows defining and running multi-container applications and Docker Swarm enables orchestrating containers across a cluster.
- The open container ecosystem including the Open Container Initiative for standardization.
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Edureka!
** Edureka DevOps Training : https://www.edureka.co/devops **
This Edureka Video on Docker vs VM (Virtual Machine) video compares the Major Differences between Docker and VM. Below are the topics covered in the video:
1. What is Virtual Machine?
2. Benefits of Virtual Machine
3. What are Docker Containers
4. Benefits of Docker Containers
5. Docker vs VM – Main Differences
6. Use Case
Check our complete DevOps playlist here (includes all the videos mentioned in the video): http://goo.gl/O2vo13
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Docker is a tool that allows applications to run in isolated containers to make them portable and consistent across environments. It provides benefits like easy developer onboarding, eliminating application conflicts, and consistent deployments. Docker tools include the Docker Engine, Docker Client, Docker Compose, and Docker Hub. Key concepts are images which are templates for containers, and containers which are where the code runs based on an image. The document outlines how to build custom images from Dockerfiles, communicate between containers using linking or networks, and deploy containers using Docker Compose or in the cloud.
O documento discute o que é Docker, suas vantagens como velocidade e escalabilidade, limitações como não poder rodar containers entre sistemas operacionais diferentes, o que são containers e imagens, a diferença entre VMs e Docker, Dockerfiles, registries, redes, e Docker Compose.
O documento introduz o Docker, definindo-o como uma tecnologia de código aberto que permite empacotar software em unidades padronizadas chamadas contêineres para implantação rápida em qualquer ambiente. Ele também lista várias vantagens do Docker como portabilidade, versionamento, reutilização de componentes e orquestração de ambientes. Por fim, fornece uma abordagem prática para executar um container Docker.
Dockerized containers are the current wave that promising to revolutionize IT. Everybody is talking about containers, but a lot of people remain confused on how they work and why they are different or better than virtual machines. In this session, Black Duck container and virtualization expert Tim Mackey will demystify containers, explain their core concepts, and compare and contrast them with the virtual machine architectures that have been the staple of IT for the last decade.
Docker allows users to package applications with all their dependencies into standardized units called containers that can run on any Linux server. Containers are more lightweight than virtual machines because they share the host operating system and only require the additional libraries and binaries needed to run the application rather than a full guest operating system. Docker uses containers and an image format to deploy applications in a consistent manner across development, testing, and production. The document provides examples of how to define a Dockerfile to build an image, run containers from images using docker-compose, and common Docker commands.
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
This presentation on Docker Container will help you understand what is Docker, the architecture of Docker, what is a Docker Container, how to create a Docker Container, benefits of Docker Container, basic commands of Containers and you will also see a demo on creating Docker Container. Docker is a very lightweight software container and containerization platform. Docker containers provide a way to run software in isolation. It is an open source platform that helps to package an application and its dependencies into a Docker container for the development and deployment of software and a Docker COntainer is a portable executable package which includes applications and their dependencies. With Docker Containers, applications can work efficiently in different computer environments.
Below DevOps tools are explained in this Docker Container presentation:
1. What is Docker?
2. The architecture of Docker?
3. What is a Docker Container?
4. How to create a Docker Container?
5. Benefits of Docker Containers
6. Basic commands of Containers
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Docker allows building, shipping, and running applications in portable containers. It packages an application with all its dependencies into a standardized unit for software development. Major cloud providers and companies support and use Docker in production. Containers are more lightweight and efficient than virtual machines, providing faster launch times and allowing thousands to run simultaneously on the same server. Docker simplifies distributing applications and ensures a consistent environment.
O documento descreve o que é o Docker, suas principais características como leveza, segurança e abertura. Explica as diferenças entre containers e máquinas virtuais e como o Docker pode reduzir custos e agilizar o deploy de aplicações. Detalha os principais comandos do Docker e o fluxo de trabalho, incluindo a criação de um Dockerfile.
This document provides an introduction to Docker and containers. It discusses why containers are useful for software deployment given changes in the industry. Containers provide lightweight isolation of applications and their dependencies. Docker is a tool that manages containers running on the same operating system kernel. Key Docker components include the client, server, images, and containers. Popular use cases of Docker include Google running over a billion containers per week and Finnish Railways saving 50% of cloud costs with Docker.
Docker allows you to package applications with their dependencies into standardized units called containers that can run on any Linux server. Containers are more portable and efficient than virtual machines, starting in milliseconds and using less disk space. Docker makes it easy to deploy and run applications without having to rebuild environments and guarantees that an application will run the same regardless of the infrastructure it is running on.
Docker is a platform that allows users to build, ship, and run applications by using containers. It solves issues like dependency conflicts, portability, and consistency across development and production. Docker uses containers- isolated environments that package code and dependencies together- to deliver software quickly and reliably. Key Docker concepts include images (read-only templates for creating containers), volumes (for persistent data), registries (for sharing images), and compose files (for defining multi-container apps). Docker also provides networking and clustering functionality to connect containers across multiple hosts.
Being a newer technology, Docker has yet to make its way into some computer science training programs. College programs, bootcamps, and online resources have yet to jump onto the container train; so, what's the best way for newer engineers to learn Docker from square one? Chloe (former actress turned developer) tells her story about how she went from wondering "What's a Docker?" to helping teach others about Docker and instead asking "What?? You haven't heard of Docker?". This talk is perfect for anyone new to Docker looking for how to get started, or for those interested in learning how to teach Docker to new users.
Docker is an open platform for developing, shipping, and running distributed applications. It allows applications to be shipped and run in lightweight containers that can run on any Linux server. Docker uses operating-system-level virtualization and cgroups isolation to deliver lightweight containers quickly. Key features of Docker include portability, lightweight containers that share resources and isolate processes, and automated workflows.
Docker allows for easy deployment and management of applications by wrapping them in containers. It provides benefits like running multiple isolated environments on a single server, easily moving applications between environments, and ensuring consistency across environments. The document discusses using Docker for development, production, and monitoring containers, and outlines specific benefits like reducing deployment time from days to minutes, optimizing hardware usage, reducing transfer sizes, and enhancing productivity. Future plans mentioned include using Kubernetes for container orchestration.
An Architectural Deep Dive With Kubernetes And Containers Powerpoint Presenta...SlideTeam
Introducing An Architectural Deep Dive With Kubernetes And Containers PowerPoint Presentation Slides. Present the need for the containers in an organization with the help of a readily available PPT slideshow. Discuss container architecture, use cases details to make your presentation elaborative. Showcase the features, architecture, installation roadmap, and the 30-60-90 day plan in Kubernetes with the help of modern-designed PPT infographics. Familiarize your viewers with the various components of Kubernetes with the help of content-ready Kubernetes Docker PPT visuals. Make full use of high-quality icons to make your presentation attention-grabbing and meaningful. Compare and contrast Kubernetes with docker swarm based on various parameters with the help of this attention-grabbing PPT slideshow. Elaborate on Kubelet, Kubectl, and Kubeadm with the help of labeled diagrams. Showcase the networking model of Kubernetes, security measures, and the development process with this easy-to-use docker Architecture PowerPoint template. Therefore, hit the download button now to grab this amazing presentation. https://bit.ly/3vtLeFb
The document discusses Dockerfiles, which are used to build Docker images. A Dockerfile contains instructions like FROM, RUN, COPY, and CMD to set the base image, install dependencies, add files, and define the main process. Images are read-only layers built using these instructions. Dockerfiles can be built locally into images and published to repositories for sharing. Volumes are used to persist data outside the container.
This document provides instructions on installing and using Docker on Linux (Ubuntu) and Windows. It discusses installing Docker on Ubuntu, basic Docker commands like images, ps, pull, run options for ports, volumes, and other commands. For Windows, it recommends using Docker Toolbox which includes Docker Machine, Engine, Compose and Kitematic GUI. It also covers installing the newer Docker for Windows which requires Windows 10 Pro/Enterprise with Hyper-V enabled.
A Comprehensive Introduction to Kubernetes. This slide deck serves as the lecture portion of a full-day Workshop covering the architecture, concepts and components of Kubernetes. For the interactive portion, please see the tutorials here:
https://github.com/mrbobbytables/k8s-intro-tutorials
Docker is an open platform for developing, shipping, and running applications. It allows packaging applications into standardized units for software called containers that can run on any infrastructure. The key components of Docker include images, containers, a client-server architecture using Docker Engine, and registries for storing images. Images act as templates for creating containers, which are run-time instances of images. Docker provides portability and isolation of applications using containers.
This document provides an introduction to Docker and discusses:
- The challenges of managing applications across different environments which Docker aims to solve through lightweight containers.
- An overview of Docker concepts including images, containers, the Docker workflow and networking.
- How Docker Compose allows defining and running multi-container applications and Docker Swarm enables orchestrating containers across a cluster.
- The open container ecosystem including the Open Container Initiative for standardization.
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...Edureka!
** Edureka DevOps Training : https://www.edureka.co/devops **
This Edureka Video on Docker vs VM (Virtual Machine) video compares the Major Differences between Docker and VM. Below are the topics covered in the video:
1. What is Virtual Machine?
2. Benefits of Virtual Machine
3. What are Docker Containers
4. Benefits of Docker Containers
5. Docker vs VM – Main Differences
6. Use Case
Check our complete DevOps playlist here (includes all the videos mentioned in the video): http://goo.gl/O2vo13
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Docker is a tool that allows applications to run in isolated containers to make them portable and consistent across environments. It provides benefits like easy developer onboarding, eliminating application conflicts, and consistent deployments. Docker tools include the Docker Engine, Docker Client, Docker Compose, and Docker Hub. Key concepts are images which are templates for containers, and containers which are where the code runs based on an image. The document outlines how to build custom images from Dockerfiles, communicate between containers using linking or networks, and deploy containers using Docker Compose or in the cloud.
O documento discute o que é Docker, suas vantagens como velocidade e escalabilidade, limitações como não poder rodar containers entre sistemas operacionais diferentes, o que são containers e imagens, a diferença entre VMs e Docker, Dockerfiles, registries, redes, e Docker Compose.
O documento introduz o Docker, definindo-o como uma tecnologia de código aberto que permite empacotar software em unidades padronizadas chamadas contêineres para implantação rápida em qualquer ambiente. Ele também lista várias vantagens do Docker como portabilidade, versionamento, reutilização de componentes e orquestração de ambientes. Por fim, fornece uma abordagem prática para executar um container Docker.
Este documento discute o uso de Docker e Compose para criar e gerenciar containers de forma eficiente. Ele explica como namespaces e cgroups isolam processos no Linux, definem containers e suas vantagens sobre máquinas virtuais. Também apresenta conceitos básicos do Docker como imagens e repositório Docker Hub, e mostra como usar Dockerfile, docker CLI e docker-compose CLI na prática.
Este documento apresenta uma introdução ao Docker, abordando os principais conceitos e comandos. Em 6 seções, discute: 1) os primeiros passos com Docker; 2) o que são imagens; 3) volumes e armazenamento; 4) como construir imagens; 5) comunicação entre containers; e 6) Docker Compose. A agenda inclui tópicos como a história dos containers, imagens vs containers, comandos básicos e exemplos práticos.
Transportando as aplicações entre vários ambientes com DockerAécio Pires
Nesta palestra aprenderemos o que é Docker, conteiner, imagens e quais as principais ferramentas do Docker usadas para implantar e transportar contêineres de aplicação entre vários tipos de ambientes.
Apresentação sobre o básico de Docker.
Build, Ship and Run Any Application Anywhere.
Docker Images, Docker registry, Docker Container, Docker store, Docker hub, dicas e problemas comuns.
Docker é uma ferramenta open source para empacotar e executar aplicações em containers. Containers compartilham recursos do sistema operacional e consomem menos recursos do que máquinas virtuais. Docker permite isolar e executar aplicações de forma rápida e escalável independente da linguagem ou framework utilizado.
O documento apresenta uma introdução ao Docker, definindo-o como uma ferramenta para empacotar e executar aplicações de forma isolada através de containers leves. Explica como o Docker difere de máquinas virtuais e quais são seus principais usos para desenvolvedores e infraestrutura. Por fim, demonstra comandos básicos do Docker em um exemplo prático.
O documento apresenta uma introdução ao Docker, definindo-o como uma ferramenta para empacotar e executar aplicações de forma isolada através de containers leves. Explica como o Docker difere de máquinas virtuais e quais são seus principais usos para desenvolvedores e infraestrutura. Por fim, demonstra comandos básicos do Docker em um exemplo prático.
O Docker é uma plataforma aberta para desenvolvedores construírem e distribuírem aplicações. Ele utiliza containers Linux para isolar ambientes virtuais e permite que aplicações sejam rapidamente implantadas sem diferenças entre ambientes. O Docker é composto pelo Docker Engine e pelo Docker Hub.
O Docker é uma plataforma aberta para desenvolvedores construírem e distribuírem aplicações usando containers. Ele usa containers Linux para isolar ambientes virtuais e compartilhar aplicações. O Docker é composto pelo Docker Engine, que empacota aplicações, e pelo Docker Hub, um serviço de nuvem para compartilhar imagens.
O documento resume uma palestra sobre o uso de containers Docker no desenvolvimento .NET. A palestra inclui uma introdução ao Docker e como ele é usado, uma demonstração de uma aplicação .NET rodando em containers Docker e questões frequentes sobre Docker.
1) A palestra apresentará o uso de Docker no desenvolvimento .NET, incluindo como criar imagens e contêineres para aplicações .NET e como orquestrá-los com Docker Compose.
2) O palestrante Marcio Nizzola explicará o que é Docker e como funciona a virtualização de contêineres, em seguida demonstrará a criação de uma aplicação .NET usando Docker.
3) A aplicação .NET demonstrará o uso de contêineres Docker para hospedar bancos de dados, filas de mensagens e a própria aplicação .
O Docker permite criar, implantar e executar aplicativos em ambientes isolados chamados contêineres. Contêineres são criados a partir de imagens Docker, que são modelos pré-configurados, enquanto Dockerfiles descrevem como construir imagens. O Docker Hub é um repositório online onde imagens prontas podem ser encontradas.
Slides da minha palestra sobre Docker. Nela faço uma breve introdução sobre a ferramenta, explico um pouco sobre o funcionamento e a diferenciação com máquinas virtuais.
O documento introduz o Docker, explicando como ele permite entregar software de forma fácil e consistente através de contêineres leves que isolam as aplicações e serviços. O Docker facilita a criação de ambientes idênticos entre desenvolvimento e produção e permite escalar aplicações com agilidade e controle.
O documento explica o que é Docker, como ele empacota software em conjuntos autocontidos com tudo o que precisa para rodar, garantindo que sempre irá rodar da mesma forma independente do ambiente. Também discute termos como imagens, containers, volumes e registry.
OBS: Para ver o slide em qualidade melhor, fazer o download
Contatos:
- Linkedin: https://www.linkedin.com/in/andrejusti/
- Github: https://github.com/justiandre
- E-mail: andre.justi@gmail.com
Essa apresentação faz parte do grupo de estudo do Mercado Livre, sobre Kotlin, nesse grupo será estudado o livro: Programando com Kotlin: Conheça todos os recursos de Kotlin com este guia detalhado (Novatec), onde cada participante irá apresentar um conjunto de sub tópicos sobre o livro.
As apresentações podem ser acompanhadas por esse link (https://docs.google.com/spreadsheets/d/1yevzB6-KBUJsaYDE-_kM0IDQEp4ThbVJldlQfbyeBho/edit?usp=sharing), onde estão, códigos, slides e vídeos de todos os encontros.
GraphQL é uma linguagem de consulta e postagem de dados baseada em grafos para APIs. A apresentação introduz o GraphQL, discutindo o que é e não é, sua história, linguagens, ferramentas e partes importantes como tipos, consultas, mutações e assinaturas. Vantagens incluem flexibilidade do cliente e contratos bem definidos, enquanto desvantagens são complexidade, desempenho e gerenciamento de autorizações.
Maven é uma ferramenta de automação de projetos usada principalmente para projetos Java. Ela gerencia dependências, controla versões, gera relatórios e garante a qualidade do código através de testes. Maven usa um arquivo POM para configurar detalhes do projeto e dependências. Ele define ciclos de vida para compilação, teste e empacotamento.
Livro - código limpo caps (3,4) (clean code)André Justi
O documento apresenta um resumo de dois capítulos do livro "Clean Code" de Robert Martin sobre funções e comentários em código. O apresentador André Justi discute princípios como: funções devem ser pequenas e fazer uma coisa; usar nomes descritivos; evitar comentários quando possível explicando-se no código; usar Javadocs em APIs públicas.
1) Git é um sistema de controle de versão distribuído criado por Linus Torvalds para desenvolvimento do kernel Linux.
2) Em 2005, a comunidade Linux desenvolveu seu próprio sistema, o Git, após perder acesso gratuito ao BitKeeper.
3) O Git se tornou um sistema popular e maduro, mantendo qualidades como velocidade, suporte a branches paralelas e armazenamento distribuído.
1. André Justi - andrejusti.com 1
André Justi
http://andrejusti.com
Janeiro 2017
2. André Justi - andrejusti.com
O que é Docker
O Docker é uma tecnologia Open Source que permite criar, executar, testar e implantar aplicações
distribuídas dentro de containers de software. Ele permite que você empacote um software de uma
padronizada para o desenvolvimento de software, contendo tudo que é necessário para a execução:
código, runtime, ferramentas, bibliotecas, etc. O Docker permite que você implante aplicações
rapidamente, de modo confiável e estável, em qualquer ambiente.
2
3. André Justi - andrejusti.com
O que são containers
Os containers são um método de virtualização em nível de sistema operacional que permite executar
uma aplicação e suas dependências em processos com recursos isolados. Os containers permitem
empacotar facilmente o código, as configurações e as dependências de uma aplicação em elementos
fundamentais que oferecem consistência ambiental, eficiência operacional, produtividade de
desenvolvedores e controle de versões.
Os containers podem ajudar a garantir rapidez, confiabilidade e consistência de implantação,
independentemente do ambiente de implantação. Além disso, os containers oferecem um controle mais
granular dos recursos, aumentando a eficiência da infraestrutura.
3
4. André Justi - andrejusti.com
Breve história
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.
Docker foi lançado como Open Source em março de 2013, e em março de 2014 com o lançamento da
versão 0.9 Docker que deixou LXC como ambiente de execução padrão para usar sua própria
libcontainer, que é escrita na linguagem GO criada pelo Google.
No dia 24 de outubro de 2015 o projeto tornou-se o 20º mais estrelado, como mais de 6.800 fork’s,
como mais de 1100 colaboradores. Uma breve análise de 2016 mostrou DotCloud, Cisco, Google, IBM,
Microsoft e Red Hat como as principais contribuidoras do Docker.
4
5. André Justi - andrejusti.com
Existem mais de 500 mil aplicações Dockerizadas, um crescimento de 3100% ao longo de 2 anos.
Mais de 4 bilhões de containers já foram puxados até hoje.
Docker é apoiado por uma grande e crescente comunidade de colaboradores e usuários; Como
exemplo, há 150 mil membros de Meetups Docker em todo o mundo. Isso é cerca de 40% da população
da Islândia!
A adoção do Docker aumentou mais de 30% no último ano.
Cerca de 30% dos containers Dockers estão rodando em produção.
29% das empresas que já ouviram falar em Docker planejam usá-lo.
Alguns outros fatos sobre Docker
5
6. André Justi - andrejusti.com
Uma análise de janeiro 2017 dos perfis do LinkedIn, mostra que as skils sobre Docker cresceram 160%
em 2016.
No GitHub existem quase 150 mil repositórios com algum código ou artefato Docker.
Alguns outros fatos sobre Docker
6
7. André Justi - andrejusti.com
Com certeza a comunidade Docker é um dos
seus pontos fortes, são centenas de grupos
de meetups espalhados pelo mundo, além
de fóruns, grupos de facebook e milhares de
contribuidores no Twitter, GitHub, YouTube,
SlideShare etc.
7
Comunidade
Meetups Docker
Brasil
8. André Justi - andrejusti.com
Principais buscas
1. docker
2. container docker
3. container
4. install docker
5. dockerfile
6. ubuntu docker
7. docker image
8. linux docker
9. docker run
10. docker windows
11. hub docker
12. docker file
13. docker compose
14. docker containers
15. docker images
O que estão falando por aí | Google Trends
8
Comparação com outros termos populares
Docker
Big Data
Micro Services
2013 2017
9. André Justi - andrejusti.com
O que estão falando por aí | Stack Overflow
9
Comparação com outros termos populares
Docker
Big Data
Micro Services
2013 2017
10. André Justi - andrejusti.com
Quem está usando
… e muitas outras empresas e projetos!
10
11. André Justi - andrejusti.com
VM
O objetivo desse modelo é compartilhar os recursos físicos entre vários ambientes isolados, sendo que
cada um deles tem sob sua tutela uma máquina inteira, com memória, disco, processador, rede e outros
periféricos, todos entregues via abstração de virtualização.
É como se dentro de uma máquina física criasse máquinas menores e independentes entre sí. Cada
máquina dessa tem seu próprio sistema operacional completo, que por sua vez interage com todos os
hardwares virtuais que lhe foi entregue pelo modelo de virtualização a nível de máquina.
Vale ressaltar que o sistema operacional instalado dentro de uma máquina virtual fará interação com os
hardwares virtuais e não com o hardware real.
VM vs Docker
11
12. André Justi - andrejusti.com
Docker
Esse modelo de virtualização está no nível de sistema operacional, ou seja, ao contrário da máquina
virtual um container não tem visão de uma máquina inteira, ele é apenas um processo em execução em
um kernel compartilhado entre todos os outros containers.
Ele utiliza o namespace para prover o devido isolamento de memória RAM, processamento, disco e
acesso a rede, mesmo compartilhamento o mesmo kernel, esse processo em execução tem a visão de
estar usando um sistema operacional dedicado.
VM vs Docker
12
13. André Justi - andrejusti.com
VM vs Docker
13
Guest OS
Bins/Libs
App 01
Server
Host OS
Hypervisor
Estrutura VM (Virtual
Machine)
Guest OS
Bins/Libs
App 02
VM 02VM 01
VMs
MV
Estrutura Docker
Server
Host OS
Docker Engine
Bins/Libs
App 01
Bins/Libs
App 02
CONT 02 CONT 01
Containers
Docker
14. André Justi - andrejusti.com
Partes principais do Docker
14
network
container
data volumes
image
Client
docker CLI
REST API
Server
docker daemon
gerenciador
gerenciador
gerenciador
gerenciador
Docker usa uma arquitetura cliente-servidor. A
parte cliente fala com o Docker daemon, que
faz o trabalho pesado de construção, execução
e distribuição de seus containers e imagens
Docker, também controla os recursos
executados.
O cliente Docker e Docker daemon, podem ser
executados no mesmo sistema, também é
possível conectar um cliente Docker a um
Docker daemon remoto. O cliente Docker e
daemon se comunicam através de uma API
REST, através de sockets UNIX ou uma
interface de rede, para execuções de
comandos ou scripts.
15. André Justi - andrejusti.com
Containers docker - Containers tem como base sempre uma imagem, pense como na seguinte analogia
do mundo Java, uma imagem é uma classe e um container é como um objeto instância dessa classe,
então podemos através de uma imagem “instanciar” vários containers, também através de recursos
chroot, Cgroups é possível definirmos limitações de recursos recursos e isolamento parcial ou total dos
mesmos.
Elementos do Docker
15
Algumas características dos containers
● Portabilidade de aplicação
● Isolamento de processos
● Prevenção de violação externa
● Gerenciamento de consumo de recursos
16. André Justi - andrejusti.com
imagens docker - Imagens são templates para criação de containers, como falado no slide anterior,
imagens são imutáveis, para executá-las é necessário criar uma instância dela o “container”, também
vale ressaltar que as imagens são construídas em camadas, o que facilita sua reutilização e manutenção.
Em resumo uma imagem nada mais é do que um ambiente totalmente encapsulado e pronto para ser
replicado onde desejar
Elementos do Docker
16
Kernel
Java8
Image
Minha App 01
Image
Container
01
Debian
Base Image
Wildfly 8
Image
Minha App 02
Image
Node JS
Image
Nginx
Image
Minha App 03
Image
Alpine
Base Image
Apache
Image
Minha App 04
Imagem
Container
02
Container 03
Container
04
Container 06
Container
05
17. André Justi - andrejusti.com
Dockerfile - São scripts com uma série de comandos para criação de uma imagem, nesses scripts
podemos fazer uma séries de coisas como executar comandos sh, criar variáveis de ambiente, copiar
arquivos e pastas do host para dentro da imagem etc.
Exemplo
Elementos do Docker
17
FROM ubuntu
MAINTAINER andrejusti
RUN apt-get update
RUN apt-get install -y nginx && apt-get clean
RUN ln -sf /dev/stdout /var/log/nginx/access.log
RUN ln -sf /dev/stderr /var/log/nginx/error.log
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
EXPOSE 8080
ENTRYPOINT [“/usr/sbin/nginx”]
CMD [“start”, “-g”]
18. André Justi - andrejusti.com
Docker Registry - É como um repositório GIT, onde as imagens podem ser versionadas, comitadas,
“puxadas” etc, quando recuperamos uma imagem, usando o comando docker pull por exemplo,
estamos normalmente baixando a imagem de um registro Docker, o repositório oficial do Docker é o
Docker HUB, onde é possível hospedar e versionar imagens públicas e privadas.
Elementos do Docker
18
19. André Justi - andrejusti.com
Docker host
Images
Partes principais do Docker
19
Client
docker CLI
docker build
docker pull
docker run
Containers
docker registry
REST API
docker daemon
20. André Justi - andrejusti.com
Comandos Docker
20
Tipo de parâmetro Descrição
<valor> parâmetro obrigatório
[valor] parâmetro opcional
[valor...] ou <valor...> parâmetro multivalorado
21. André Justi - andrejusti.com
Comandos Docker | docker help
21
docker <COMAND> --help
Exibe a forma de execução do comando e seus possíveis parâmetros
$ docker logs --help
> Usage: docker logs [OPTIONS] CONTAINER
> Fetch the logs of a container
> Options:
> --details Show extra details provided to logs
> -f, --follow Follow log output
> --help Print usage
> --since string Show logs since timestamp
> --tail string Number of lines to show from the end of the logs (default ""all"")
> -t, --timestamps Show timestamps
Exemplo
22. André Justi - andrejusti.com
Comandos Docker | docker info
22
docker info
Exibe as informações de execução do docker
$ docker info
> Containers: 5
> Running: 1
> Paused: 0
> Stopped: 4
> Images: 17
> Server Version: 1.13.0
> Storage Driver: overlay2
> Backing Filesystem: extfs
> Supports d_type: true
> Native Overlay Diff: true
> Logging Driver: json-file
> Cgroup Driver: cgroupfs
> Plugins:
> Volume: local
> Network: bridge host macvlan null overlay
Exemplo
23. André Justi - andrejusti.com
docker login [OPTIONS] <SERVER>
Faz login em um servidor de registro Docker
Parâmetros
-u Login do registro docker
-p Senha do registro docker
Comandos Docker | docker login
23
$ docker login -u meuLogin -p minhaSenha docker-registro.meuservidor.com.br
> Login Succeeded
#Exibir servidores logado
$ cat $HOME/.docker/config.json
> "auths": {"docker-registro.meuservidor.com.br": {"auth": "c2FqYWR2OkBTb2Z0cGxhbjIwMTI="}}
Exemplo
24. André Justi - andrejusti.com
docker logout <SERVER>
Faz login em um servidor de registro Docker
Comandos Docker | docker logout
24
$ docker logout docker-registro.meuservidor.com.br
> Removing login credentials for docker-registro.meuservidor.com.br
Exemplo
25. André Justi - andrejusti.com
docker images [OPTIONS]
Lista as imagens baixadas
Parâmetros
-a Mostrar todas imagens (por padrão oculta as intermediárias)
Comandos Docker | docker images
25
$ docker images
> REPOSITORY TAG IMAGE ID CREATED SIZE
> redis latest 74d8f543ac97 6 days ago 184 MB
> ubuntu latest f49eec89601e 2 weeks ago 129 MB
$ docker images -a
> REPOSITORY TAG IMAGE ID CREATED SIZE
> redis latest 74d8f543ac97 6 days ago 184 MB
> ubuntu latest f49eec89601e 2 weeks ago 129 MB
> java latest d23bdf5b1b1b 2 weeks ago 643 MB
Exemplo
26. André Justi - andrejusti.com
docker pull [OPTIONS] <NAME>[:TAG]
Baixa uma imagem
Parâmetros
-a Baixa todas tags da imagem
Comandos Docker | docker pull
26
$ docker pull php:latest
> latest: Pulling from library/php
> 5040bd298390: Already exists
> 568dce68541a: Pull complete
> 6a832068e64c: Pull complete
> Digest: sha256:cdd9431e016e974cc84bb103e22152195e02f54591ac48fe705d66b1384d6a08
> Status: Downloaded newer image for php:latest
Exemplo
27. André Justi - andrejusti.com
docker search [OPTIONS] <TERM>
Pesquisa nos repositórios imagens
Parâmetros
--limit <quantidadeResultados> Limita a consulta a um número de resultados
Comandos Docker | docker search
27
$ docker search redis
> NAME DESCRIPTION STARS OFFICIAL AUTOMATED
> redis Redis is an open source key-value store th... 3336 [OK]
> sameersbn/redis 43 [OK]
> bitnami/redis Bitnami Redis Docker Image 36 [OK]
> torusware/speedus-redis Always updated official Redis docker image... 32 [OK]
$ docker search --limit 1 redis
> NAME DESCRIPTION STARS OFFICIAL AUTOMATED
> redis Redis is an open source key-value store th... 3336 [OK]
> sameersbn/redis 43 [OK]
Exemplo
28. André Justi - andrejusti.com
docker run [OPTIONS] <IMAGE> <COMMAND> [ARG...]
Executa uma imagem (criando um container)
Parâmetros
-e Define uma variável de ambiente
--env-file Local de uma arquivo com variáveis de ambiente
--link Adicionar link a outro container
-m
<quantidadeDeMemoria>
Define o limite de memória que o container pode usar do host
--memory-swap
<quantidadeDeMemoria>
Define o limite de memória swap que o container pode usar (-1 para deixar ilimitado)
--name Nome do container
Comandos Docker | docker run
28
29. André Justi - andrejusti.com
Parâmetros
-p Mapeia uma porta entre o container e o host
--restart
Tipo de política de reinicialização do container
Opções:
no - Não reinicie quando o serviço for inicial
failure - Reinicia somente se o container foi encerrado com status diferente de zero
(diferente de sucesso)
always - Sempre reinicia quando o serviço docker for iniciado, independente do status
--rm
Remover o container automaticamente quando ele for terminado (default false)
--runtime Tempo de execução para usar neste container
-v Vincular um volume
--storage-opt Opções do storage do container
-d Roda o container em backgroud
Comandos Docker | docker run
29
30. André Justi - andrejusti.com
Comandos Docker | docker run
30
$ docker run -d -e MINHA_VARIAVEL=minhaVariavel redis:latest
> 840bf6fa81cb026d15fd2c514e25bd5d2b36bea6f98650428adfd786eb559f3a
$ docker run -d -m 100m --memory-swap 120m redis:latest
> 01bf438ccf92043c3b67bfe06215b05ce6f898dd83d73465279ca3cbd7a97e61
$ docker run --rm -u root redis:latest
> 27b6da614858f24c9757b8a4f27d4d3526809b1592be725ba251b71d23960727
$ docker run -v $HOME/dev/temp:/docker --name meuRedis redis:latest
> 0471a8bd44ef5833ae81a5de8b6863451b5a1bc1047d5a34e7003720a4c34068
Exemplo
31. André Justi - andrejusti.com
LINKS - Comunicação via Link
O Link permite que você trafegue informações entre os containers de forma segura, pois quem conhece
um container conhece apenas o seu par definido no link. Quando você configura um link, você cria um
elo de ligação entre um container de origem e um container de destino. Para criar um link, você deve
utilizar o parâmetro –link no comando docker run. Em primeiro lugar, deve-se criar um container que
será origem de dados para outro container.
OBS: Isso também pode ser feito deixando uma porta acessível do container para outro se contactar.
Comandos Docker | docker run --link
31
# Isso criará um novo container chamado db a partir da imagem do postgres, que contém um banco de dados
PostgreSQL.
$ docker run -d --name db training/postgres
# Isso criará um novo container chamado web e irá vincular ao container chamado db.
$ docker run -d -P --name web --link db:db training/webapp python app.py
# Isso irá mostrar que os dois container web tem acesso ao container db.
$ docker exec web ping db
> PING db (172.17.0.2) 56(84) bytes of data.
> 64 bytes from db (172.17.0.2): icmp_seq=1 ttl=64 time=0.098 ms
> 64 bytes from db (172.17.0.2): icmp_seq=2 ttl=64 time=0.224 ms
Exemplo
32. André Justi - andrejusti.com
O volume do Docker é a única maneira de preservar os dados do container em execução, visto que uma
vez que o container é removido ele perde todos seus dados, através do volume então é possível, mapear
uma pasta no host ou em outro container para uma pasta do container em execução, assim uma vez que
um arquivo for criado, atualizado, deletado e etc no container de execução isso será persistido em outro
local assim sendo possível preservar esses dados.
Comandos Docker | docker run -v
32
$ docker run --name redis-test -v $HOME/temp/docker:/data/temp/docker redis
> 36939054e8653242a1be06163e6f6c75420381a3edb4a52b06e62a2844be1914
$ docker exec redis-teste touch /data/temp/docker/arquivo.txt
$ ls $HOME/temp/docker
> arquivo.txt
Exemplo
33. André Justi - andrejusti.com
docker inspect <CONTAINER>
Mostra os metadados do container, como os volumes associados, mantenedor etc.
Comandos Docker | docker inspect
33
$ docker inspect db
> [
> "Id": "1045cb2ec8f89b5846bcaca3303dae7b1d6416cffbfc2d314203006221e7c352",
> "Created": "2017-03-06T18:57:04.851794871Z",
> "Path": "su",
> "Args": [
> "postgres",
> "-c",
> "/usr/lib/postgresql/$PG_VERSION/bin/postgres -D /var/lib/postgresql/$PG_VERSION/main/ -c
config_file=/etc/postgresql/$PG_VERSION/main/postgresql.conf"
> # Outras informações
> ]
Exemplo
34. André Justi - andrejusti.com
docker exec [OPTIONS] <CONTAINER> <COMMAND> [ARG...]
Executa um comando em um container em execução
Parâmetros
-d Executa o comando em backgroud
-e Define variáveis de ambiente
-it Entra em modo iterativo
Comandos Docker | docker exec
34
$ docker exec -e MINHA_VARIAVEL=meuValor ubuntuLocal env | grep MINHA_VARIAVEL
> MINHA_VARIAVEL=meuValor
$ docker exec -d ubuntuLocal touch meuArquivo
$ docker exec AdvDBPostgres ls | grep meuArquivo
> meuArquivo
$ docker exec -it ubuntuLocal bash
Exemplo
35. André Justi - andrejusti.com
docker create [OPTIONS] <IMAGE> <COMMAND> [ARG...]
Criar um novo container a partir de uma imagem
Comandos Docker | docker create
35
Parâmetros
-e Define uma variável de ambiente
--env-file Local de uma arquivo com variáveis de ambiente
--link Adicionar link a outro container
-m
<quantidadeDeMemoria>
Define o limite de memória que o container pode usar do host
--memory-swap
<quantidadeDeMemoria>
Define o limite de memória swap que o container pode usar (-1 para deixar ilimitado)
--name Nome do container
36. André Justi - andrejusti.com
Parâmetros
-p Mapeia uma porta entre o container e o host
--restart Tipo de política de reinicialização do container
--rm
Remover o container automaticamente quando ele for terminado (default false)
--runtime Tempo de execução para usar neste container
-v Vincular um volume
--storage-opt Opções do storage do container
Comandos Docker | docker create
36
38. André Justi - andrejusti.com
docker stop [OPTIONS] <CONTAINER...>
Para um ou mais containers
Parâmetros
-t
<tempo>
Quantidade em segundos que o docker espera para parar o container
Comandos Docker | docker stop
38
$ docker stop redisLocal
> redisLocal
$ docker stop -t 100 redisLocal
> redisLocal
Exemplo
39. André Justi - andrejusti.com
docker kill <CONTAINER...>
Mata um ou mais containers
Comandos Docker | docker kill
39
Exemplo
$ docker kill redisLocal
> redisLocal
40. André Justi - andrejusti.com
docker ps [OPTIONS]
Lista os containers
Parâmetros
-a Mostrar todos os containers (por padrão mostra apenas os em execução)
-q Exibi apenas os ids
Comandos Docker | docker ps
40
$ docker ps
> CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
> 39e65a58f redis "docker" 16 sec Up 15 seconds 6379/tcp gallant
$ docker ps -a
> CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
> 39e65a58f redis "docker" About a min Exit 18 sec ago gallant
> 9f40f0ffb ubuntu "/bin/bash" 12 min ago Exit 12 min ago mystifying
$ docker ps -q
> 39e65a58f
> 9f40f0ffb
Exemplo
41. André Justi - andrejusti.com
Comandos Docker | docker start
41
docker start [OPTIONS] <CONTAINER...>
Inicia um ou mais containers
$ docker start redisLocal
> redisLocal
Exemplo
42. André Justi - andrejusti.com
docker restart [OPTIONS] <CONTAINER...>
Reinicia um ou mais containers
Parâmetros
-t
<tempo>
Quantidade em segundos que o docker espera para reiniciar o container, default são 10
segundos
Comandos Docker | docker restart
42
$ docker restart redisLocal
> redisLocal
$ docker restart -t 100 redisLocal
> redisLocal
Exemplo
43. André Justi - andrejusti.com
Comandos Docker | docker stats
43
docker stats
Exibir as estatísticas de uso containers
$ docker stats
> CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
> bbd788e30cce 0.08% 6.309 MiB / 7.704 GiB 0.08% 6.79 kB / 648 B 0 B / 0 B 3
> 237abe728103 0.07% 6.305 MiB / 7.704 GiB 0.08% 8.33 kB / 648 B 0 B / 0 B 3
> f4b319f2c636 0.06% 6.309 MiB / 7.704 GiB 0.08% 9.66 kB / 648 B 0 B / 0 B 3
Exemplo
45. André Justi - andrejusti.com
docker rm [OPTIONS] <CONTAINER...>
Remove um ou mais containers
Parâmetros
-f Força a remoção, podendo remover containers em execução
Comandos Docker | docker rm
45
$ docker rm 768e388fa2c9
> 768e388fa2c9
$ docker rm meuPhp
> meuPhp
Exemplo
46. André Justi - andrejusti.com
docker update [OPTIONS] <CONTAINER...>
Atualiza as configurações um ou mais containers
Parâmetros
-m
<quantidadeDeMemoria>
Define o limite de memória que o container pode usar do host
--memory-swap
<quantidadeDeMemoria>
Define o limite de memória swap que o container pode usar (-1 para deixar ilimitado)
Comandos Docker | docker update
46
$ docker update -m 1000m --memory-swap 1300m redisLocal
> redisLocal
Exemplo
47. André Justi - andrejusti.com
docker pause <CONTAINER...>
Pausar todos os processos dentro de um ou mais containers
Comandos Docker | docker pause
47
$ docker pause redisLocal
> redisLocal
Exemplo
48. André Justi - andrejusti.com
docker unpause <CONTAINER...>
Inicia os processos anteriormente pausados de um ou mais containers
Comandos Docker | docker unpause
48
$ docker unpause redisLocal
> redisLocal
Exemplo
49. André Justi - andrejusti.com
docker logs [OPTIONS] <CONTAINER>
Exibe os logs de um container
Parâmetros
--tail
<quantidadeLinhas>
Limita a quantidade de linhas que será exibido, começando do fim para o inicio
-f Continua exibindo o log
Comandos Docker | docker logs
49
$ docker logs --tail 5 redisLocal
> # Warning: no config file specified, using the default config. In order to specify a config file use
redis-server /path/to/redis.conf
> Redis 3.2.7 (00000000/0) 64 bit
> Running in standalone mode
> Port: 6379
> # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set
to the lower value of 128.
Exemplo
50. André Justi - andrejusti.com
docker rmi [OPTIONS] <CONTAINER....>
Remover uma ou mais imagens
Parâmetros
-f Força remoção, podendo remover imagens com containers vinculados
Comandos Docker | docker rmi
50
$ docker rmi java
> Untagged: java:latest
> Untagged: java@sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
> Deleted: sha256:d23bdf5b1b1b1afce5f1d0fd33e7ed8afbc084b594b9ccf742a5b27080d8a4a8
> Deleted: sha256:0132aeca1bc9ac49d397635d34675915693a8727b103639ddee3cc5438e0f60
Exemplo
51. André Justi - andrejusti.com
docker commit [OPTIONS] <CONTAINER> [REPOSITORY[:TAG]]
Criar uma nova imagem a partir das alterações de um container existente
Parâmetros
-a Autor da commit
-m Mensagem de commit
Comandos Docker | docker commit
51
$ docker commit meuBancoDeDados
> sha256:37f6ba54d41c106df337d027a7345b582fe5b023aee1ca21c3719915d706b9e8
$ docker commit -a "andrejusti" -m "Container com registros já existentes" meuBancoDeDados
> sha256:393236a4cf00ab1295b07dbe09668b01c741888d502d98e5ccbb544a8abd043a
Exemplo
52. André Justi - andrejusti.com
docker tag <SOURCE_IMAGE[:TAG]> <TARGET_IMAGE[:TAG]>
Cria uma tag a partir de uma imagem existente
Comandos Docker | docker tag
52
$ docker tag redis:latest redis:minhaTag
Exemplo
54. André Justi - andrejusti.com
docker build [OPTIONS] <PATH | URL>
Criar uma imagem a partir de um Dockerfile, também é possível criar de um Dockerfile remoto, como
em um repositório git no github
Parâmetros
-f Nome do arquivo de build (default é Dockerfile)
-t Nome e opcionalmente uma tag no formato 'name: tag'
Comandos Docker | docker build
54
56. André Justi - andrejusti.com
Docker pode construir imagens automaticamente lendo as instruções do arquivo Dockerfile. O
Dockerfile é um arquivo de texto que contém todos os comandos necessários para se criar uma imagem,
usando o comando docker build podemos então criar a imagem a partir do Dockerfile.
Dockerfile
56
# Comentario
INSTRUCAO argumentos
Formato
A instrução não faz distinção entre maiúsculas e minúsculas. Porém a convenção diz para as instruções
serem MAIÚSCULAS para distinguir dos argumentos mais facilmente.
O Docker executa as instruções do Dockerfile em ordem. A primeira instrução deve ser “FROM” para
especificar a Imagem Base da qual você está construindo.
# Meu teste
FROM ubuntu
Formato
57. André Justi - andrejusti.com
Informa a partir de qual imagem será gerada a nova image
Dockerfile | FROM
57
FROM <image>
FROM <image>:<tag>
FROM <image>@<digest>
Utilização
FROM ubuntu
FROM ubuntu:latest
FROM ubuntu@d2b1b8e4a217
Exemplo
58. André Justi - andrejusti.com
Campo opcional, que informa o nome do mantenedor da nova image, não recomendado, é
recomendado usar o campo LABEL, onde é possível adicionar mais informações, o MAINTAINER no
campo LABEL fica como LABEL maintainer "André Justi <justi.andre@gmail.com>
<www.andrejusti.com.br>", assim quando é feito o comando docker inspect essa informação é
mostrada
Dockerfile | MAINTAINER
58
MAINTAINER <name>
Utilização
MAINTAINER "André Justi"
Exemplo
59. André Justi - andrejusti.com
Adiciona metadados da imagem, informações adicionais que servirão para identificar versão, tipo de
licença, mantenedor e etc
Dockerfile | LABEL
59
LABEL <chave>=<valor> <chave>=<valor>
Utilização
LABEL chave=valor
LABEL "chave"="valor"
LABEL "chave1"="valor1" "chave2"="valor2" "chave3"="valor3"
LABEL "chave1"="valor1"
"chave2"="valor2"
"chave3"="valor3"
Exemplo
60. André Justi - andrejusti.com
Instrução que cria e atribui uma variável de ambiente dentro da imagem. É possível informar mais de
uma label
Dockerfile | ENV
60
ENV <chave>=<valor>
ENV <chave> <valor>
Utilização
ENV chave=valor
ENV chave valor
Exemplo
61. André Justi - andrejusti.com
Define qual será o diretório de trabalho (lugar onde serão copiados os arquivos, e criadas novas pastas
etc)
Dockerfile | WORKDIR
61
WORKDIR diretorio
Utilização
WORKDIR /data
Exemplo
62. André Justi - andrejusti.com
Adiciona ou copia arquivos locais ou que estejam em uma url (no caso do ADD), para dentro da imagem
O <dest> é um caminho absoluto, ou um caminho relativo a WORKDIR, caso o diretório destino não
exista, ele será criado
Se <src> for um diretório, todo o conteúdo do diretório será copiado, incluindo os metadados do
sistema de arquivos
Dockerfile | ADD e COPY
62
ADD <src>... <dest>
ADD ["<src>",... "<dest>"] # Essa forma é necessário para caminhos que contêm espaços em branco
COPY <src>... <dest>
COPY ["<src>",... "<dest>"] # Essa forma é necessário para caminhos que contêm espaços em branco
Utilização
63. André Justi - andrejusti.com
Dockerfile | ADD e COPY
63
ADD minhaPasta/meuarquivo.txt /pastaRaiz/
ADD ["Área de trabalho/meu arquivo.txt", "pasta raiz"]
COPY minhaPasta/meuarquivo.txt /pastaRaiz/
COPY ["Área de trabalho/meu arquivo.txt", "pasta raiz"]
Exemplo
64. André Justi - andrejusti.com
Diferença entre ADD e COPY
● ADD Permite <src> ser um URL
● Se estiver executando um ADD é o <src> é um arquivo em um formato de compactação
reconhecido, o docker irá descompactá-lo e irá copiar os arquivos para o <dist>
Dockerfile | ADD e COPY
64
# Copiando arquivos compactados no formato tar para o container
# ADD
ADD resources/jdk-8.tar.gz /usr/local/
# COPY
COPY resources/jdk-8.tar.gz /tmp/
RUN tar -zxvf /tmp/jdk-8.tar.gz -C /usr/local
RUN rm /tmp/jdk-8.tar.gz
Exemplo
65. André Justi - andrejusti.com
Shell e Exec
As instruções RUN, CMD e ENTRYPOINT suportam duas formas diferentes de execução: o formulário
shell e o formulário exec .
Dockerfile | RUN, CMD e ENTRYPOINT
65
INSTRUCAO executavel parametro01 parametro02
Exemplo Shell
INSTRUCAO ["executavel","parametro01","parametro02"]
Exemplo Exec
66. André Justi - andrejusti.com
Ao usar o formulário shell, o comando especificado é executado com uma invocação do shell usando
/bin/sh -c. É possível ver isso claramente ao executar um docker ps
Dockerfile | RUN, CMD e ENTRYPOINT
66
FROM ubuntu:trusty
CMD ping localhost
Dockerfile exemplo
$ docker build -t nome:tag caminhoDockerfile
$ docker ps
> CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
> 52fec6512a86 teste:shell "/bin/sh -c 'ping ..." 7 sec Up 6 sec gifted
Execução
67. André Justi - andrejusti.com
Uma opção melhor é usar o formulário exec nas instruções. Observe que o conteúdo do exec é formado
como uma matriz JSON.
Quando a forma exec da instrução é usada, o comando será executado sem um shell.
OBS: É recomendado sempre usar o formulário exec nas instruções ENTRYPOINT e CMD.
Dockerfile | RUN, CMD e ENTRYPOINT
67
FROM ubuntu:trusty
CMD ["/bin/ping","localhost"]
Dockerfile exemplo
$ docker build -t nome:tag caminhoDockerfile
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
0eab086cbe58 teste:exec "/bin/ping localhost" 12 sec Up 11 sec gallant
Execução
68. André Justi - andrejusti.com
RUN: São as instruções que serão executadas para criação da imagem em questão, normalmente
instalações de pacotes, esse comando também pode ser substituído ao iniciar o container, é possível
declarar várias instruções RUN, porém cada uma cria uma nova camada da aplicação.
CMD: São instruções padrão do container, normalmente usadas para declarar como a aplicação deve
iniciar, ou quais serviços deve iniciar ao executar, o CMD só pode ser declarado uma vez.
ENTRYPOINT : Específica o que será executado ao iniciar o container.
Dockerfile | RUN, CMD e ENTRYPOINT
68
69. André Justi - andrejusti.com
Expõem uma ou mais portas, isso quer dizer que o container quando iniciado poderá ser acessível
através dessas porta
Dockerfile | EXPOSE
69
EXPOSE <port> [<port>...]
Utilização
EXPOSE 8080 8081
Exemplo
70. André Justi - andrejusti.com
Mapeia um diretório do host para ser acessível pelo container
Dockerfile | VOLUME
70
VOLUME ["/diretorio"]
VOLUME /diretorio
Utilização
VOLUME ["/var/log"]
VOLUME /var/log
Exemplo
71. André Justi - andrejusti.com
Define com qual usuário serão executadas as instruções durante a geração da image
Dockerfile | USER
71
USER usuario
Utilização
USER root
Exemplo
72. André Justi - andrejusti.com
Próximos passos | Compose
O Docker Compose é uma ferramenta para a criação e execução de múltiplos containers de maneira
padronizada e que facilite a comunicação entre eles. Com o Compose, é possível usar um único arquivo
para definir como será o ambiente de uma aplicação e usando um único comando possível criará e
iniciará todos os serviços definidos.
72
73. André Justi - andrejusti.com
Próximos passos | Machine
Docker machine é a ferramenta usada para instalação e gerência de docker hosts remotos de forma fácil
e direta.
73
74. André Justi - andrejusti.com
Próximos passos | Swarm
O Docker Swarm é uma ferramenta que permite a criação de clusters de Docker, ou seja, podemos fazer
com que diversos hosts de Docker estejam dentro do mesmo pool de recursos, facilitando assim o
deploy de containers. É possível por exemplo criar um container sem necessariamente saber em qual
host ele está, Swarm disponibilidade uma API de integração, onde é possível realizar grande parte das
atividades administrativas de um container
74
75. André Justi - andrejusti.com
Referências
75
Livro: Containers com Docker
Do desenvolvimento à produção
Casa do Código
Livro: Caixa de Ferramentas DevOps
Um guia para construção,
administração e arquitetura de
sistemas modernos
Casa do Código
Site: https://docs.docker.com
Documentação oficial Docker
Site: http://mundodocker.com.br
Site de uma comunidade brasileira
Livro: Docker: Up & Running
Shipping Reliable Containers in
Production
O’Reilly
Site: http://techfree.com.br
Site com várias dicas e posts sobre
Docker