This document provides instructions on various Docker commands and concepts. It begins with definitions of Docker and the differences between VMs and Docker containers. It then covers topics like installing Docker, finding Docker images and versions, building images with Dockerfiles, running containers with commands like docker run, and managing images and containers.
Learn, Collaborate & Dockerize. Docker is an open platform that helps you build, ship and run applications anytime and anywhere.
Join Docker Jaipur:
Docker Page: events.docker.com/jaipur
Telegram Group: t.me/dockerjaipur
Twitter: @JaipurDocker
***** DevOps Masters Program : https://www.edureka.co/masters-program/devops-engineer-training *****
This DevOps Docker Commands tutorial ( Docker Tutorial Blog Series: https://goo.gl/z93Ed1 ) will introduce you to the most commonly used Docker commands. The Hands-On session is performed on an Ubuntu-64 bit machine in which Docker is installed.
To learn how Docker can be used to integrate multiple DevOps tools, watch the video titled 'DevOps Tools', by clicking this link: https://goo.gl/up9iwd
Learn, Collaborate & Dockerize. Docker is an open platform that helps you build, ship and run applications anytime and anywhere.
Join Docker Jaipur:
Docker Page: events.docker.com/jaipur
Telegram Group: t.me/dockerjaipur
Twitter: @JaipurDocker
***** DevOps Masters Program : https://www.edureka.co/masters-program/devops-engineer-training *****
This DevOps Docker Commands tutorial ( Docker Tutorial Blog Series: https://goo.gl/z93Ed1 ) will introduce you to the most commonly used Docker commands. The Hands-On session is performed on an Ubuntu-64 bit machine in which Docker is installed.
To learn how Docker can be used to integrate multiple DevOps tools, watch the video titled 'DevOps Tools', by clicking this link: https://goo.gl/up9iwd
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 is one of the fastest-growing open source projects ever, and the ecosystem that has grown around it is evolving at a similar pace. For these reasons, we want to introduce developers, system administrators, and other computer users of a mixed skillset to the Docker project and Linux container concepts.
An in depth overview of Kubernetes and it's various components.
NOTE: This is a fixed version of a previous presentation (a draft was uploaded with some errors)
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
Kubernetes has two simple but powerful network concepts: every Pod is connected to the same network, and Services let you talk to a Pod by name. Bryan will take you through how these concepts are implemented - Pod Networks via the Container Network Interface (CNI), Service Discovery via kube-dns and Service virtual IPs, then on to how Services are exposed to the rest of the world.
Docker nous permet de déployer nos applications dans des conteneurs. Du coup notre infrastructure se retrouve divisée dans différents conteneurs, un pour la base de données, un pour le front, un pour le backend. Voir même une division en services lorsque l’on est dans une approche micro-services.
Mais comment faire communiquer ces différents conteneurs? Comment orchestrer un cluster de conteneurs? Kubernetes est une réponse à ces questions.
Docker Compose is the last piece of the orchestration puzzle. After provisioning Docker daemons on any host in any location with Docker Machine and clustering them with Docker Swarm, users can employ Docker Compose to assemble multi-container distributed apps that run on top of these clusters.
The first step to employing Docker Compose is to use a simple YAML file to declaratively define the desired state of the multi-container app:
containers:
web:
build: .
command: python app.py
ports:
- "5000:5000"
volumes:
- .:/code
links:
- redis
environment:
- PYTHONUNBUFFERED=1
redis:
image: redis:latest
command: redis-server --appendonly yes
This example shows how Docker Compose takes advantage of existing containers. Specifically, in this simple two-container app declaration, the first container is a Python app built each time from the Dockerfile in the current directory. The second container is built from the redis Official Repo on the Docker Hub Registry. The links directive declares that the Python app container is dependent on the redis container.
Not that it’s defined, starting your app is as easy as …
% docker up
With this single command, the Python container is automatically built from its Dockerfile and the redis container is pulled from the Docker Hub Registry. Then, thanks to the links directive expressing the dependency between the Python and redis containers, the redis container is started *first*, followed by the Python container.
Docker Compose is still a work-in-progress and we want your help to design it. In particular, we want to know whether or not you think this should be a part of the Docker binary or a separate tool. Head over to the proposal on GitHub to try out an alpha build and have your say.
Coda
All this is just the briefest introduction to Docker Machine, Docker Swarm, and Docker Compose. We hope you’ll take a moment to try them out and give us feedback – these projects are moving quickly and we welcome your input!
We also wish to thank the many community members who have contributed their experience, feedback, and pull requests during the pre-Alpha iterations of these projects. It’s thanks to you that we were able to make so much progress so quickly, and in the right direction.
Distributed apps offer many benefits to users – portability, scalability, dynamic development-to-deployment acceleration – and we’re excited by the role the Docker platform, community, and ecosystem are playing in making these apps easier to build, ship, and run. We’ve got a ways to go, but we’re psyched by this start – join us and help us get there faster!
Docker has created enormous buzz in the last few years. Docker is a open-source software containerization platform. It provides an ability to package software into standardised units on Docker for software development. In this hands-on introductory session, I introduce the concept of containers, provide an overview of Docker, and take the participants through the steps for installing Docker. The main session involves using Docker CLI (Command Line Interface) - all the concepts such as images, managing containers, and getting useful work done is illustrated step-by-step by running commands.
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 is one of the fastest-growing open source projects ever, and the ecosystem that has grown around it is evolving at a similar pace. For these reasons, we want to introduce developers, system administrators, and other computer users of a mixed skillset to the Docker project and Linux container concepts.
An in depth overview of Kubernetes and it's various components.
NOTE: This is a fixed version of a previous presentation (a draft was uploaded with some errors)
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
Kubernetes has two simple but powerful network concepts: every Pod is connected to the same network, and Services let you talk to a Pod by name. Bryan will take you through how these concepts are implemented - Pod Networks via the Container Network Interface (CNI), Service Discovery via kube-dns and Service virtual IPs, then on to how Services are exposed to the rest of the world.
Docker nous permet de déployer nos applications dans des conteneurs. Du coup notre infrastructure se retrouve divisée dans différents conteneurs, un pour la base de données, un pour le front, un pour le backend. Voir même une division en services lorsque l’on est dans une approche micro-services.
Mais comment faire communiquer ces différents conteneurs? Comment orchestrer un cluster de conteneurs? Kubernetes est une réponse à ces questions.
Docker Compose is the last piece of the orchestration puzzle. After provisioning Docker daemons on any host in any location with Docker Machine and clustering them with Docker Swarm, users can employ Docker Compose to assemble multi-container distributed apps that run on top of these clusters.
The first step to employing Docker Compose is to use a simple YAML file to declaratively define the desired state of the multi-container app:
containers:
web:
build: .
command: python app.py
ports:
- "5000:5000"
volumes:
- .:/code
links:
- redis
environment:
- PYTHONUNBUFFERED=1
redis:
image: redis:latest
command: redis-server --appendonly yes
This example shows how Docker Compose takes advantage of existing containers. Specifically, in this simple two-container app declaration, the first container is a Python app built each time from the Dockerfile in the current directory. The second container is built from the redis Official Repo on the Docker Hub Registry. The links directive declares that the Python app container is dependent on the redis container.
Not that it’s defined, starting your app is as easy as …
% docker up
With this single command, the Python container is automatically built from its Dockerfile and the redis container is pulled from the Docker Hub Registry. Then, thanks to the links directive expressing the dependency between the Python and redis containers, the redis container is started *first*, followed by the Python container.
Docker Compose is still a work-in-progress and we want your help to design it. In particular, we want to know whether or not you think this should be a part of the Docker binary or a separate tool. Head over to the proposal on GitHub to try out an alpha build and have your say.
Coda
All this is just the briefest introduction to Docker Machine, Docker Swarm, and Docker Compose. We hope you’ll take a moment to try them out and give us feedback – these projects are moving quickly and we welcome your input!
We also wish to thank the many community members who have contributed their experience, feedback, and pull requests during the pre-Alpha iterations of these projects. It’s thanks to you that we were able to make so much progress so quickly, and in the right direction.
Distributed apps offer many benefits to users – portability, scalability, dynamic development-to-deployment acceleration – and we’re excited by the role the Docker platform, community, and ecosystem are playing in making these apps easier to build, ship, and run. We’ve got a ways to go, but we’re psyched by this start – join us and help us get there faster!
Docker has created enormous buzz in the last few years. Docker is a open-source software containerization platform. It provides an ability to package software into standardised units on Docker for software development. In this hands-on introductory session, I introduce the concept of containers, provide an overview of Docker, and take the participants through the steps for installing Docker. The main session involves using Docker CLI (Command Line Interface) - all the concepts such as images, managing containers, and getting useful work done is illustrated step-by-step by running commands.
IoT Microservices at the Edge with Eclipse ioFogKilton Hopkins
Learn how Eclipse ioFog open-source Fog Computing lets you create microservices for the Internet of Things and run them in any physical location you desire.
Most of us these days develop applications and deploy them on servers, either on-premises or in the cloud. We need to plan well ahead in time as to how much server, storage and database we need. We also need to plan for deploying all the hardware and software necessary to run the application. The question here is, if is it possible to avoid all this planning? Are we looking for a new model that can handle all the underlying infrastructure deployment for us? This deck describes about serverless architecture and application in detail.
Do you want to learn functional programming in Java using lambda expressions introduced in Java 8? Do you want to explore the foundational concepts to explore powerful stream API? This presentation provides an overview of lambda functions introduced in Java 8 through examples. Topics covered: What is functional programming, creating lambda expressions, functional interfaces, built-in functional interfaces, and method references.
Make sure you have JDK 8 installed for trying out the programs as you go through the self-contained programming examples.
Hypervisor "versus" Linux Containers!
Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.
Less hardware, less pain and more scalability in production, on VMs, bare-metal servers, OpenStack clusters, public instances, or combinations of the above. "Do more with less " and this is all that matters!
Automation of server and applications deployments never had been so easy and fast that ever. Also brings produtivity to a new level, in the DataCenters and Cloud Environments.
Francisco Gonçalves (Dec2013
( francis.goncalves@gmail.com )
A brief history on hybrid applications and their transformation from then to now. an overview of cross platform mobile app development, giving examples of Xamarin and Ionic.
Docker is popular open-source software containerization platform. It provides an ability to package software into standardised units on Docker for software development. In this hands-on introductory session, I introduce the concept of containers and provide an overview of Docker. Participants can learn important concepts in Docker step-by-step and learn by example by running commands with me. The main session involves using Docker CLI (Command Line Interface) covering all the key concepts such as creating images and managing containers. What is more, this workshop ends with a complete example of getting some amazing work done with ease using Docker. Presented in OSI Days '16: http://opensourceindia.in/osidays/workshops-osi-2016/
Running the Oracle SOA Suite Environment in a Docker ContainerGuido Schmutz
Docker is all about making it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package. Docker helps creating, moving and duplicating environments.
This presentation will give an introduction to Docker, the ideas behind containerization and explain why there is so much hype around Docker and why you should be taking notice. I will show how Docker containers can be used to setup different environments, such as SOA Suite, Service Bus, Business Activity Monitoring and Event Processing and Stream Explorer. The talk will also include various short live demos.
Introduction to Docker - Learning containerization XP conference 2016XP Conference India
Docker is an open-source platform which provides a great way to package and deploy applications. With its lightweight resource consumption pattern, it helps in making CI/CD environments faster and predictable. Learn how to setup Docker and deploy a basic web application.
An overview of Docker and Linux containers. There are three parts:
An introduction to Docker and containers
A demo that the audience can try out
An overview of the various vendors and groups in this space
The demo is meant to be a simple, step-by-step recipe that introduces the basic commands and ends by spinning up a node.js app using two linked containers: node and redis.
The final section explores the companies and groups that are working on containers, either complementing Docker's contributions or in direct competition with them.
Cette présentation vous montrera comment utiliser et profiter rapidement de Docker, quelles commandes utiliser et quelles fonctionnalités sont disponibles.
sfPot de Lille - Le 15 janvier 2015
The Dockerfile Explosion and the Need for Higher Level Tools by Gareth RushgroveDocker, Inc.
Dockerfiles are great. They provide a zero-barrier-to-entry format for
describing a single Docker image which is immediately clear to anyone
reading them. But with that simplicity comes problems that become
apparent as your adoption of Docker gathers pace.
* Dockerfiles can inherit from other docker images, but images are not
Dockerfiles
* Dockerfile provides no built-in mechanism for creating abstractions,
so as usage grows identical or similar instructions can be duplicated
across many files
* The Docker APi exposes a build endpoint, but the API is very course,
taking Dockerfile as the transport rather than exposing the individual
instructions
* Dockerfiles are just that, files. So they can come from anywhere
The one layer per line in a Dockerfile limitation can lead to an
explosion of layers, which fail to take advantage of the promised
space and performance benefits.
Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. This is a first introduction to Docker, Dockerfile and docker-compose with relative basic commands.
Title: Introduction to Docker
Abstract:
During the year since it’s inception, Docker have changed our perception of the OS-level Virtualization also called Containers.
At this workshop we will introduce the concept of Linux containers in general and Docker specifically. We will guide the participants through a practical exercise that will include use of various Docker commands and a setting up a functional Wordpress/MySQL system running in two containers and communication with each other using Serf
Topics:
Docker Installation (in case is missing)
Boot2Docker
Docker commands
- basic commands
- different types of containers
- Dockerfiles
Serf
Wordpress Exercise
- setting up Serf cluster
- deploying MySQL
- deploying Wordpress and connecting to MySQL
Prerequisites:
Working installation of Docker
On Mac - https://docs.docker.com/installation/mac/
On Windows - https://docs.docker.com/installation/windows/
Other Platforms - https://docs.docker.com/installation/#installation
Streamline your development environment with dockerGiacomo Bagnoli
These days applications are getting more and more complex. It's becoming quite
difficult to keep track of all the different components an application needs in order to
function (a database, a message queueing system, a web server, a document
store, a search engine, you name it.). How many times we heard 'it worked on my
machine'?. In this talk we are going to explore Docker, what it is, how it works
and how much it can benefit in keeping the development environment consistent.
We are going to talk about Dockerfiles, best practices, tools like fig and vagrant,
and finally show an example of how it applies to a ruby on rails
application.
In this session, we will take a deep-dive into the DevOps process that comes with Azure Machine Learning service, a cloud service that you can use to track as you build, train, deploy and manage models. We zoom into how the data science process can be made traceable and deploy the model with Azure DevOps to a Kubernetes cluster.
At the end of this session, you will have a good grasp of the technological building blocks of Azure machine learning services and can bring a machine learning project safely into production.
When it comes to microservice architecture, sometimes all you wanted is to perform cross cutting concerns ( logging, authentication , caching, CORS, Routing, load balancing , exception handling , tracing, resiliency etc..) and also there might be a scenario where you wanted to perform certain manipulations on your request payload before hitting into your actual handler. And this should not be a repetitive code in each of the services , so all you might need is a single place to orchestrate all these concerns and that is where Middleware comes into the picture. In the demo I will be covering how to orchestrate these cross cutting concerns by using Azure functions as a Serverless model.
In this talk, we will start with some introduction to Azure Functions, its triggers and bindings. Later we will build a serverless solution to solve a problem statement by using different triggers and bindings of Azure Functions.
Language to be used: C# and IDE - Visual Studio 2019 Community Edition"
In this workshop, you will understand how Azure DevOps Services helps you scale DevOps adoption strategies in enterprise. We will explore various feature and services that can enable you to implement various DevOps practices starting from planning, version control, CI & CD , Dependency Management and Test planning.
In this session, we will understand how to create your first pipeline and build an environment to restore dependencies and how to run tests in Azure DevOps followed by building an image and pushing it to container registry.
In this session, we will discuss a use case where we need to quickly develop web and mobile front end applications which are using several different frameworks, hosting options, and complex integrations between systems under the hood. Let’s see how we can leverage serverless technologies (Azure Functions and logic apps) and Low Code/No code platform to achieve the goal. During the session we will go though the code followed by a demonstration.
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...CodeOps Technologies LLP
In this talk people will get to know how we can use change feed feature of Cosmos DB and use azure functions and signal or service to develop a real time dashboard system
Imagine a scenario, where you can launch a video call or chat with an advisor, agent, or clinician in just one-click. We will explore application patterns that will enable you to write event-driven, resilient and highly scalable applications with Functions that too with power of engaging communication experience at scale. During the session, we will go through the use case along with code walkthrough and demonstration.
We will walk through the exploration, training and serving of a machine learning model by leveraging Kubeflow's main components. We will use Jupyter notebooks on the cluster to train the model and then introduce Kubeflow Pipelines to chain all the steps together, to automate the entire process.
It is difficult to deploy interloop Kubernetes development in current state. Know these open-source projects that can save us from the burden of various tools and help in deploying microservices on Kubernetes cluster without saving secrets in a file.
Must Know Azure Kubernetes Best Practices And Features For Better Resiliency ...CodeOps Technologies LLP
Running day-1 Ops on your Kubernetes is somewhat easy, but it is quite daunting to manage day two challenges. Learn about AKS best practices for your cloud-native applications so that you can avoid blow up your workloads.
Prometheus is a popular open source metric monitoring solution and Azure Monitor provides a seamless onboarding experience to collect Prometheus metrics. Learn how to configure scraping of Prometheus metrics with Azure Monitor for containers running in AKS cluster.
What if you could combine Trello, GitLab, JIRA, Calendar, Slack, Confluence, and more - all together into one solution?
Yes, we are talking about Space - the latest tool from JetBrains famous for its developer productivity-enhancing tools (esp. IntelliJ IDEA).
Here we have explained about JetBrains' space and its functionalities.
This talk will serve as a practical introduction to Distributed Tracing. We will see how we can make best use of open source distributed tracing platforms like Hypertrace with Azure and find the root cause of problems and predict issues in our critical business applications beforehand.
This talk serves as a practical introduction to Distributed Tracing. We will see how we can make best use of open source distributed tracing platforms like Hypertrace with Azure and find the root cause of problems and predict issues in our critical business applications beforehand.
Presentation part of Open Source Days on 30 Oct - ossdays.konfhub.com
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
2. What is Docker?
Source: https://en.wikipedia.org/wiki/Docker_(software)
Docker is an open-source project
that automates the deployment of
applications inside software
containers.
“an open platform for developers and
sysadmins to build, ship, and run
distributed applications”
10. How to find my Docker version?
$ docker -v
Docker version 1.12.0-rc4, build e4a0dbc, experimental
11. How to find details of my Docker installation?
12. Can I install Docker from commandline?
Yes! from get.docker.com
# This script is meant for quick & easy install via:
# 'curl -sSL https://get.docker.com/ | sh'
# or:
# 'wget -qO- https://get.docker.com/ | sh'
13. How to do “hello world” in Docker?
$ docker run docker/whalesay cowsay Hello world
14. How to do “hello world” in Docker?
$ docker run docker/whalesay cowsay "Hello world"
Runs a command
in a new container
Base image for
creating the container
Command name to
run within the container
Argument to the
“cowsay” command
15. How to do “hello world” in Docker?
$ docker run -it hello-world
$ docker run -it hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/
16. The term “Docker” can be confusing: the
client and the daemon both are called
Docker!
17. How to get help on commands to use?
Use “docker -h” command, as in:
$ docker -h
Usage: docker [OPTIONS] COMMAND [arg...]
docker [ --help | -v | --version ]
A self-sufficient runtime for containers.
Options:
--config=~/.docker Location of client config files
-D, --debug Enable debug mode
-H, --host=[] Daemon socket(s) to connect to
-h, --help Print usage
-l, --log-level=info Set the logging level
…
Commands:
attach Attach to a running container
18. Docker commands look like Linux
commands - so familiarity with Linux
commands can really help to get up to
speed quickly with Docker.
22. How to get an image?
Use “docker pull <image_name>” command
In my case debian image was
already pulled. If it were not there,
Docker would have pulled it afresh
23. How to get details of an image?
Use “docker inspect <image_name>” command
docker inspect debian
[
{
"Id": "sha256:1b088884749bd93867ddb48ff404d4bbff09a17af8d95bc863efa5d133f87b78",
"RepoTags": [
"debian:latest"
],
"RepoDigests": [
"debian@sha256:8b1fc3a7a55c42e3445155b2f8f40c55de5f8bc8012992b26b570530c4bded9e"
],
"Parent": "",
"Comment": "",
"Created": "2016-06-09T21:28:43.776404816Z",
"Container": "2f3dcd897cf758418389d50784c73b43b1fd7db09a80826329496f05eef7b377",
"ContainerConfig": {
"Hostname": "6250540837a8",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
// ...
24. How to see “layers” in an image?
Use “docker history <image_name>” command
Each of these lines are layers and the
size column shows the exact size of
each layer in the image
25. How can I load and store images?
Use “docker save” and “docker load” commands
26. How do I delete an image?
Use “docker rmi <image-tag>”
$ docker images alpine
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest 4e38e38c8ce0 4 weeks ago 4.799 MB
$ docker rmi alpine
Untagged: alpine:latest
Untagged: alpine@sha256:3dcdb92d7432d56604d4545cbd324b14e647b313626d99b889d0626de158f73a
$ docker images alpine
REPOSITORY TAG IMAGE ID CREATED SIZE
27. How to delete all docker images?
Use “$docker rmi $(docker images -q)”
docker images -q
lists all image ids
28. How to find “dangling images”?
Use “docker images -f "dangling=true"”
$ docker images -f "dangling=true"
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 777f9424d24d 7 minutes ago 125.2 MB
<none> <none> 3d02168f00fc 12 days ago 34.22 MB
<none> <none> 0f192147631d 3 weeks ago 132.8 MB
29. How to remove “dangling images”?
Use “docker rmi $(docker images -f "dangling=true" -q)”
30. How can I create my own Docker image?
Create “Dockerfile” - its like Makefile for Docker
$ cat myimage/Dockerfile
FROM ubuntu
RUN echo "my first image" > /tmp/first.txt
$ docker build myimage
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM ubuntu
---> ac526a356ca4
Step 2 : RUN echo "my first image" > /tmp/first.txt
---> Running in 18f62f47d2c8
---> 777f9424d24d
Removing intermediate container 18f62f47d2c8
Successfully built 777f9424d24d
$ docker images | grep 777f9424d24d
<none> <none> 777f9424d24d 4 minutes ago 125.2 MB
$ docker run -it 777f9424d24d
root@2dcd9d0caf6f:/# ls
bin boot core dev etc home lib lib64 media mnt opt proc root run sbin srv
sys tmp usr var
root@2dcd9d0caf6f:/# cat /tmp/first.txt
my first image
root@2dcd9d0caf6f:/# exit
exit
$
31. How to name/tag an image when building?
Use “docker build <<dirname>> -t"imagename:tag"” command
$ docker build myimage -t"myfirstimage:latest"
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM ubuntu
---> ac526a356ca4
Step 2 : RUN echo "my first image" > /tmp/first.txt
---> Using cache
---> 777f9424d24d
Successfully built 777f9424d24d
$ docker images myfirstimage
REPOSITORY TAG IMAGE ID CREATED SIZE
myfirstimage latest 777f9424d24d 58 minutes ago 125.2 MB
$
34. How to run a container?
Use “docker run OPTIONS <<image-tag>> CMD ARGS”
docker run fedora /bin/echo 'Hello world'
Command name
Image name
Command
argument
$ docker run fedora /bin/echo 'Hello world'
Hello world
$
35. How to run a container interactively?
$ docker run -t -i fedora /bin/bash
[root@00eef5289c91 /]# pwd
/
[root@00eef5289c91 /]# whoami
root
[root@00eef5289c91 /]# ls
bin boot dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv
sys tmp usr var
[root@00eef5289c91 /]# cc
bash: cc: command not found
[root@00eef5289c91 /]# gcc
bash: gcc: command not found
[root@00eef5289c91 /]# java
bash: java: command not found
[root@00eef5289c91 /]# tar
bash: tar: command not found
[root@00eef5289c91 /]# exit
exit
$
docker run -t -i fedora /bin/bash
Create a terminal
to interact with
short for “—interactive"
36. How to run a container in the background?
$ docker run -d ubuntu /bin/sh -c "while true; do echo current date and time is: $(date); sleep
10; done"
9128bf57e03c3b32f0bf784a92332953996236d7e358a77c62c10bdec95fd5b9
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
9128bf57e03c ubuntu "/bin/sh -c 'while tr" About a minute ago Up About a
minute lonely_einstein
$ docker logs 9128bf57e03c3b32f0bf784a92332953996236d7e358a77c62c10bdec95fd5b9
current date and time is: Fri Jul 22 15:42:49 IST 2016
current date and time is: Fri Jul 22 15:42:49 IST 2016
current date and time is: Fri Jul 22 15:42:49 IST 2016
current date and time is: Fri Jul 22 15:42:49 IST 2016
// output elided
short for “—detach” and it runs
container in the background
37. How to attach to a running container?
$ docker run -d ubuntu /bin/sh -c "while true; do echo current date and time is: $
(date); sleep 10; done"
acc349675098a0133366076f2082db6171ee4a0cd2e1e45ada9a485684ea4c01
$ docker attach acc349675098a0133366076f2082db6171ee4a0cd2e1e45ada9a485684ea4c01
current date and time is: Mon Aug 1 10:30:13 IST 2016
current date and time is: Mon Aug 1 10:30:13 IST 2016
short for “—detach” and it runs
container in the background
The “attach” command attaches
to a running container
38. How do I create an image from a running container?
Use “docker commit” command
$ docker run -d alpine echo "hello world"
9884347880f62f7c5d43702c3d701e3b87a49f9bdde5843380af1479f4dc0755
$ docker logs 9884347880f62f7c5d43702c3d701e3b87a49f9bdde5843380af1479f4dc0755
hello world
$ docker commit -m "my first image from container"
9884347880f62f7c5d43702c3d701e3b87a49f9bdde5843380af1479f4dc0755 myalpine:latest
sha256:b707ef35394c365bece70240213942e43da7f882107d30482ad6bec6b4bacfb7
$ docker images
REPOSITORY TAG IMAGE ID CREATED
SIZE
myalpine latest b707ef35394c 18 hours ago
4.799 MB
$ docker run -it b707ef35394c365bece70240213942e43da7f882107d30482ad6bec6b4bacfb7
hello world
$
39. How to get list of containers?
Use “docker ps” command
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3651758ff308 wordpress:latest "/entrypoint.sh apach" 2 days ago Up 2 days 0.0.0.0:8000->80/tcp mywordpress_wordpress_1
b95388054539 mysql:5.7 "docker-entrypoint.sh" 2 days ago Up 2 days 3306/tcp mywordpress_db_1
40. How do I see all the containers?
Use “docker ps -a” command
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2c378c6b84b1 fedora "/bin/echo 'Hello wor" 4 minutes ago Exited (0) 4 minutes ago grave_thompson
c4b2db95f268 hello-world "/hello" 5 minutes ago Exited (0) 5 minutes ago amazing_jones
2dcd9d0caf6f 777f9424d24d "/bin/bash" 42 minutes ago Exited (0) 42 minutes ago prickly_khorana
3651758ff308 wordpress:latest "/entrypoint.sh apach" 2 days ago Up 2 days 0.0.0.0:8000->80/tcp mywordpress_wordpress_1
b95388054539 mysql:5.7 "docker-entrypoint.sh" 2 days ago Up 2 days 3306/tcp mywordpress_db_1
4b984664f9aa golang:latest "go run myapp.go" 2 days ago Exited (1) 2 days ago mydocker_app_1
63cd7661a8ad hello-world "/hello" 2 days ago Exited (0) 2 days ago adoring_sammet
c191fbeae884 ubuntu "/bin/bash" 2 days ago Exited (0) 2 days ago clever_mcclintock
08e173332d46 docker/whalesay "cowsay Hello world" 2 days ago Exited (0) 2 days ago tender_joliot
6322b8204a5d 0f192147631d "/bin/bash" 9 days ago Exited (0) 9 days ago desperate_aryabhata
...
41. How do I remove a container?
Use “docker rm” command
$ docker stop mywordpress_db_1
mywordpress_db_1
$ docker rm mywordpress_db_1
mywordpress_db_1
You have to first stop a
container before trying
to remove it
42. How do I remove all the containers?
Use “docker stop $(docker ps -a -q)” and
“docker rm $(docker ps -a -q)” commands
$ docker stop $(docker ps -a -q)
00eef5289c91
8553eebfab94
696a04db91db
// rest of the output elided
$ docker rm $(docker ps -a -q)
00eef5289c91
8553eebfab94
696a04db91db
// rest of the output elided
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
Note how the output
shows no containers
43. Using nginx
$ docker run --name mynginx -P -d nginx
561e15ac1848cf481f89bb161c23dd644f176b8f142fe617947e06f095e0953f
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
561e15ac1848 nginx "nginx -g 'daemon off" 18 hours ago
Up About a minute 0.0.0.0:32771->80/tcp, 0.0.0.0:32770->443/tcp mynginx
$ curl localhost:32771
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
// rest of the output elided ...
Nginx exposes ports 80 and 443; -P maps them
randomly in the ports range 49153 and 65535
44. Using nginx
$ cat Dockerfile
FROM nginx:latest
MAINTAINER Ganesh Samarthyam
ADD ./index.html /usr/share/nginx/html/index.html
EXPOSE 80
$ cat index.html
<h1> welcome to Dockerizing apps! <h1>
$ docker build .
Sending build context to Docker daemon 3.072 kB
// output elided ...
Removing intermediate container b043a75a4e1c
Successfully built 1aae04309f8b
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 1aae04309f8b 6 seconds ago 182.8 MB
$ docker run -p 80:80 -d 1aae04309f8b
984c179231188445289e70d854250e4e981b77a899208360db4466e73930be42
$ curl localhost:80
<h1> welcome to Dockerizing apps! <h1>
$
Type “localhost:80” in
the browser address bar
45. How do I run a C program?
$ docker pull gcc
Using default tag: latest
latest: Pulling from library/gcc
5c90d4a2d1a8: Already exists
ab30c63719b1: Already exists
c6072700a242: Already exists
abb742d515b4: Already exists
d32a4c04e369: Pull complete
276c31cf0a4c: Pull complete
a455d29f9189: Pull complete
dcfe5869552b: Pull complete
Digest: sha256:35256b5f4e4d5643c9631c92e3505154cd2ea666d2f83812b418cfdb1d5866e8
Status: Downloaded newer image for gcc:latest
$
46. How do I run a C program?
$ docker pull ubuntu:latest
latest: Pulling from library/ubuntu
43db9dbdcb30: Pull complete
85a9cd1fcca2: Pull complete
c23af8496102: Pull complete
e88c36ca55d8: Pull complete
Digest: sha256:7ce82491d6e35d3aa7458a56e470a821baecee651fba76957111402591d20fc1
Status: Downloaded newer image for ubuntu:latest
$ docker run -i -t ubuntu /bin/bash
root@c191fbeae884:/# gcc
bash: gcc: command not found
root@c191fbeae884:/# apt-get update
// elided the output
root@c191fbeae884:/# apt-get install gcc
// elided the output
root@c191fbeae884:/# cat > hello.c
int main() { printf("hello worldn”); }
root@c191fbeae884:/# gcc -w hello.c
root@c191fbeae884:/# ./a.out
hello world
root@c191fbeae884:/#
47. How do I run a C program?
$ cat Dockerfile
FROM gcc:latest
MAINTAINER Ganesh Samarthyam version: 0.1
COPY . /usr/src/mycapp
WORKDIR /usr/src/mycapp
RUN gcc -o first first.c
CMD ["./first"]
$ cat first.c
#include <stdio.h>
int main() { printf("hello worldn"); }
$ docker build . -t"mycapp:latest"
Sending build context to Docker daemon 3.072 kB
Step 1 : FROM gcc:latest
---> a0b516dc1799
// .. steps elided ...
Step 6 : CMD ./first
---> Using cache
---> f99e7f18fa42
Successfully built f99e7f18fa42
$ docker run -it mycapp
hello world
48. How do I run a Java program?
$ cat Dockerfile
FROM java:latest
COPY . /usr/src/
WORKDIR /usr/src/
RUN javac hello.java
CMD ["java", "hello"]
$ cat hello.java
class hello {
public static void main(String []args) {
System.out.println("hello world");
}
}
$ docker build . -t"myjavaapp:latest"
Sending build context to Docker daemon 3.072 kB
Step 1 : FROM java:latest
---> 264282a59a95
// intermediate steps elided
Successfully built 0d7a3a12ba9d
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myjavaapp latest 0d7a3a12ba9d About an hour ago 669.2 MB
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myjavaapp latest 0d7a3a12ba9d About an hour ago 669.2 MB
<none> <none> 7cfb4bdf47a7 About an hour ago 669.2 MB
// rest of the output elided
$ docker run myjavaapp
hello world
50. How to push my image to Docker Hub?
$ docker tag myjavaapp gsamarthyam/myfirstjavaprog:latest
$ docker push gsamarthyam/myfirstjavaprog:latest
The push refers to a repository [docker.io/gsamarthyam/myfirstjavaprog]
a97e2e0314bc: Pushed
3b9964bc9417: Pushed
de174b528b56: Pushed
// elided the output
latest: digest: sha256:1618981552efb12afa4e348b9c0e6d28f0ac4496979ad0c0a821b43547e13c13 size: 2414
$
51. How to pull my image from Docker Hub?
$ docker pull gsamarthyam/myfirstjavaprog:latest
latest: Pulling from gsamarthyam/myfirstjavaprog
Digest: sha256:1618981552efb12afa4e348b9c0e6d28f0ac4496979ad0c0a821b43547e13c13
// output elided …
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myjavaapp latest 0d7a3a12ba9d About an hour ago 669.2 MB
gsamarthyam/myfirstjavaprog latest 0d7a3a12ba9d About an hour ago 669.2 MB
// output elided …
$ docker run gsamarthyam/myfirstjavaprog
hello world
$
52. How do I create and use my own registry?
$ docker pull registry
Using default tag: latest
latest: Pulling from library/registry
e110a4a17941: Already exists
2ee5ed28ffa7: Pull complete
d1562c23a8aa: Pull complete
06ba8e23299f: Pull complete
802d2a9c64e8: Pull complete
Digest: sha256:1b68f0d54837c356e353efb04472bc0c9a60ae1c8178c9ce076b01d2930bcc5d
Status: Downloaded newer image for registry:latest
$ docker run -d -p5000:5000 registry
7768bed98a5e1916a820c84906e1f21cfc84888a934c140ad22e19cee5e2541d
Pull the “registry” image and run the container
You can now push/pull
images from this private
registry
54. How do debug on a running container?
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
9128bf57e03c ubuntu "/bin/sh -c 'while tr" 24 minutes ago Up
24 minutes lonely_einstein
$ docker exec -ti lonely_einstein /bin/bash
root@9128bf57e03c:/#
Use “docker exec” command
55. Can I use GUI instead of command-line?
Use “kitematic” (https://github.com/docker/kitematic)
56. Crazy Stuff: Docker in Docker!!
Use “docker run --privileged -d docker:dind"
“docker:dind” is the official “Docker in Docker base image”
See: https://github.com/jpetazzo/dind
57. Docker Best Practices
❖ Explicitly use --rm to remove the container from the file system -
otherwise, even if the container exits, it is not cleaned up yet (and
will hog memory).
❖ Remove “dangling images” using the command “$docker rmi $
(docker images -f "dangling=true" -q)”
❖ Explicitly use --rm to remove the container from the file system -
otherwise, even if the container exits, it is not cleaned up yet.
❖ Containers will have volumes. When the container is removed,
the volumes will not be removed. If the volumes also need to be
removed, we have to use -v option, as in: docker rm -v <<sha>>
58. Docker Best Practices
❖ Avoid creating docker images manually (e.g., using
“docker commit”); rather automate the image build
process (using Dockerfile and “docker build”)
❖ Choose a smaller base image that provides equivalent
functionality (for your requirement) instead of choosing
a larger one
❖ Example: Choose Alpine vs. Fedora (5 MB vs. 205 MB)
alpine latest 4e38e38c8ce0 4 weeks ago 4.799 MB
fedora latest f9873d530588 4 weeks ago 204.4 MB
60. Docker Commands
attach Attach to a running container
build Build an image from a Dockerfile
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
deploy Create and update a stack from a Distributed Application Bundle (DAB)
diff Inspect changes on a container's filesystem
events Get real time events from the server
exec Run a command in a running container
export Export a container's filesystem as a tar archive
history Show the history of an image
images List images
import Import the contents from a tarball to create a filesystem image
info Display system-wide information
inspect Return low-level information on a container, image or task
kill Kill one or more running container
load Load an image from a tar archive or STDIN
login Log in to a Docker registry.
logout Log out from a Docker registry.
logs Fetch the logs of a container
network Manage Docker networks
node Manage Docker Swarm nodes
pause Pause all processes within one or more containers
plugin Manage Docker plugins
61. Docker Commands
port List port mappings or a specific mapping for the container
ps List containers
pull Pull an image or a repository from a registry
push Push an image or a repository to a registry
rename Rename a container
restart Restart a container
rm Remove one or more containers
rmi Remove one or more images
run Run a command in a new container
save Save one or more images to a tar archive (streamed to STDOUT by default)
search Search the Docker Hub for images
service Manage Docker services
stack Manage Docker stacks
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
swarm Manage Docker Swarm
tag Tag an image into a repository
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
version Show the Docker version information
volume Manage Docker volumes
wait Block until a container stops, then print its exit code
62. Where to learn more on Docker?
❖ Self-learning courses: https://training.docker.com/
❖ Detailed documentation: https://docs.docker.com/
❖ Detailed tutorial (presentation): http://docker.training
❖ SE-Radio Episode 217: James Turnbull on Docker
❖ Docker related presentations in parleys.com
63. DOCKER: UP & RUNNING
➤ Covers how to develop, test,
debug, ship, scale, and
support with Docker from
DevOps perspective
➤ We liked the useful tips;
examples:
➤ “Maximize robustness with fast
startup and graceful shutdown.”
➤ “Explicitly declare and isolate
dependencies.”
➤ “Strictly separate build and run
stages.”
http://amzn.com/1491917571
“Docker: Up & Running”, Karl Matthias, Sean P. Kane, O'Reilly Media; 1 edition (July 3, 2015)
64. THE DOCKER BOOK
➤ Interesting sub-title:
“Containerization is the new
virtualization”.
➤ From James Turnbull (CTO at
Kickstarter and Advisor at
Docker)
➤ Useful to get comfortable with
core concepts of Docker
➤ Useful for developers,
operations staff (and DevOps),
and SysAdmins
➤ Supporting website: http://
dockerbook.com/http://www.amazon.in/dp/B00LRROTI4
The Docker Book, James Turnbull, Amazon Digital South Asia Services, July 2014
65. DOCKER COOKBOOK
➤ Contents written in recipe
format (Problem, Solution,
Discussion)
➤ Useful because we can look for
solutions to the problems that
we face when using Docker
➤ What we like: it covers topics
that are not covered well in
other books including
Kubernetes, Docker ecosystem
tools, monitoring Docker, and
application use cases (CI, CD)
http://amzn.com/149191971X
“Docker Cookbook”, Sébastien Goasguen, O'Reilly Media, 2015
66. DOCKER IN ACTION
➤ Wide coverage from basics to
advanced topics like managing
massive clusters
➤ Book organised into three parts:
➤ Keeping a tidy computer
➤ Packaging software for distribution
➤ Multi-container and multi-host
environments
➤ The third part is more
interesting for us because it is
not covered well in other books
➤ Covers Docker Compose, Machine
and Swarm
http://amzn.com/1633430235
Docker in Action, Jeff Nickoloff, Manning Publications, 2016
67. USING DOCKER
➤ Book organised into three
parts:
➤ Background and Basics
➤ The Software Lifecycle with Docker
➤ Tools and Techniques
➤ Useful example: Walks you
through the steps to develop
and deploy web applications
with Docker
➤ Though the book touches
upon basics, it covers more
advanced topics
http://amzn.com/1491915765
Using Docker: Developing and Deploying Software with Containers, Adrian Mouat, O'Reilly Media, 2016