This document provides an overview of Docker for web developers. It defines containers and Docker, discusses the benefits of Docker like faster deployment and portability. It explains key Docker concepts like images, containers, Dockerfile for building images, Docker platform, and commands for managing images and containers. The document also describes what happens behind the scenes when a container is run, and how to install and use Docker on Linux, Windows and Mac.
Drupalcon 2021 - Nuxt.js for drupal developersnuppla
Nuxt.js is a modern, performant framework that makes developing Vue.js-based frontend applications enjoyable. This session gives an introduction to Nuxt.js for Drupal developers. By providing analogies to known Drupal-APIs developers get ready to start building Nuxt.js applications that can run as a server or are deployed as static website. Finally, attendees will get an overview of the Nuxt ecosystem and the most essential Nuxt.js modules.
No up-front Javascript or Vue.js knowledge required!
Improving build solutions dependency management with webpackNodeXperts
Do you know ? - " The fine art of Webpack "
Topics Covered :
- What are Build Tools ?
- What is a Dependency graph ?
- What is webpack & its impacts
- What is a webpack config file and how is it written ?
- Webpack VS Grunt/Gulp & Browserify
There are many build tools available to JavaScript developers, but Webpack is quickly emerging as the leader of the pack. To better understand its use cases and where it excels above the rest, Jake Peyser will walk you through how to use it as a task runner and module bundler, as well as a few other handy tips. Come learn why Webpack is the most popular build tool with React developers.
Drupalcon 2021 - Nuxt.js for drupal developersnuppla
Nuxt.js is a modern, performant framework that makes developing Vue.js-based frontend applications enjoyable. This session gives an introduction to Nuxt.js for Drupal developers. By providing analogies to known Drupal-APIs developers get ready to start building Nuxt.js applications that can run as a server or are deployed as static website. Finally, attendees will get an overview of the Nuxt ecosystem and the most essential Nuxt.js modules.
No up-front Javascript or Vue.js knowledge required!
Improving build solutions dependency management with webpackNodeXperts
Do you know ? - " The fine art of Webpack "
Topics Covered :
- What are Build Tools ?
- What is a Dependency graph ?
- What is webpack & its impacts
- What is a webpack config file and how is it written ?
- Webpack VS Grunt/Gulp & Browserify
There are many build tools available to JavaScript developers, but Webpack is quickly emerging as the leader of the pack. To better understand its use cases and where it excels above the rest, Jake Peyser will walk you through how to use it as a task runner and module bundler, as well as a few other handy tips. Come learn why Webpack is the most popular build tool with React developers.
3 Things Everyone Knows About Node JS That You Don'tF5 Buddy
Node.js is server side javascript. Here the complete presentation on Node JS with the 3 Things which everyone knows about Node JS and installation process of it. https://www.f5buddy.com
An Introduction to the world of Javascript and NodeJS. The presentation captures Javascript's history, its evolution and its progression towards a language for an end-to-end development.
EWD 3 Training Course Part 27: The QEWD SessionRob Tweed
This presentation is Part 27 of the EWD 3 Training Course. It explains how to access and manipulate a user's Session data using the DocumentNode APIs that have been described in previous Parts of this course
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLINuxeo
To all Java developers: can you imagine coding Java without code completion in your favorite IDE? - No way! - Yet, this is how we've been coding for years with Nuxeo components and extension points in Eclipse. Sun started to write this new feature in Nuxeo IDE: an extension to the Eclipse WST XML Editor for completion proposals based on the Eclipse JDT model and XMAP introspection. Through demonstrations, Sun will introduce you to the new features he has implemented: existing extension point proposals, extension completion based on descriptors, documentation in tooltips, etc.
Fixing Gaps. Strengthening the Chromium platform for content blockingIgalia
From AdBlocker Developer Summit 2020
Miyoung Shin and Lorenzo Tilve from Igalia discuss work in the Chromium open source browser project, performed by Igalia to improve things for ad Bbocking and content blocking use cases.
Concept-Based Information Retrieval using Explicit Semantic AnalysisOfer Egozi
My master's thesis seminar at the Technion, summarizing my research work which was partly published in a AAAI-08 paper and now submitted to TOIS. Download and read notes for more details. Comments/questions are very welcome!
3 Things Everyone Knows About Node JS That You Don'tF5 Buddy
Node.js is server side javascript. Here the complete presentation on Node JS with the 3 Things which everyone knows about Node JS and installation process of it. https://www.f5buddy.com
An Introduction to the world of Javascript and NodeJS. The presentation captures Javascript's history, its evolution and its progression towards a language for an end-to-end development.
EWD 3 Training Course Part 27: The QEWD SessionRob Tweed
This presentation is Part 27 of the EWD 3 Training Course. It explains how to access and manipulate a user's Session data using the DocumentNode APIs that have been described in previous Parts of this course
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLINuxeo
To all Java developers: can you imagine coding Java without code completion in your favorite IDE? - No way! - Yet, this is how we've been coding for years with Nuxeo components and extension points in Eclipse. Sun started to write this new feature in Nuxeo IDE: an extension to the Eclipse WST XML Editor for completion proposals based on the Eclipse JDT model and XMAP introspection. Through demonstrations, Sun will introduce you to the new features he has implemented: existing extension point proposals, extension completion based on descriptors, documentation in tooltips, etc.
Fixing Gaps. Strengthening the Chromium platform for content blockingIgalia
From AdBlocker Developer Summit 2020
Miyoung Shin and Lorenzo Tilve from Igalia discuss work in the Chromium open source browser project, performed by Igalia to improve things for ad Bbocking and content blocking use cases.
Concept-Based Information Retrieval using Explicit Semantic AnalysisOfer Egozi
My master's thesis seminar at the Technion, summarizing my research work which was partly published in a AAAI-08 paper and now submitted to TOIS. Download and read notes for more details. Comments/questions are very welcome!
Case study of BtrFS: A fault tolerant File systemKumar Amit Mehta
A case study of Fault Tolerance features of BTRFS. These slides were prepared for the coursework for a Masters level program at Tallinn University of Technology, Estonia. A lot of materials in the slides are taken from the materials in the public domain. Many thanks to the people on BTRFS IRC Channel.
Sunspot is a popular ruby library providing access to Apache Solr, the renounced text search engine. In these slides, we go display how you can use this gem in your app.
Erfahren Sie in unserem Forum wie Sie durch den Einsatz eines integrierten und unternehmensübergreifenden MES-Systems Ihre Geschäftsprozesse auf Produktionsebene optimieren, ihre Produktivität um durchschnittlich 30 % steigern und gleichzeitig eine Kostenreduzierung um bis zu 10 % erzielen.
Informieren Sie sich über die Möglichkeiten der Umsetzung innerhalb eines Projektes und sichern Sie sich den daraus resultierenden Nutzen für Ihr Unternehmen.
Introduction to Docker and Monitoring with InfluxDataInfluxData
In this webinar, Gary Forgheti, Technical Alliance Engineer at Docker, and Gunnar Aasen, Partner Engineering, provide an introduction to Docker and InfluxData. From there, they will show you how to use the two together to setup and monitor your containers and microservices to properly manage your infrastructure and track key metrics (CPU, RAM, storage, network utilization), as well as the availability of your application endpoints.
This presentation gives a brief understanding of docker architecture, explains what docker is not, followed by a description of basic commands and explains CD/CI as an application of docker.
This session provides a quick introduction of Docker containers on Linux, and how to configure it on Ubuntu running on a POWER8 processor-based system. We discuss requisites, steps, repositories and use cases. We also make a comparison between Docker and AIX Workload Partitions. During the presentation we demonstrate how to deploy and use containers, and how to manager Docker containers on Power.
Introducing containers and docker, answering questions like: What are software containers? What is Docker? Who and why should I use Docker?
Slides also discuss the role of dev-ops and Docker and walk you through some examples.
By Aram Yegenian — System Administrator
Docker is an open platform for developers and system administrators to build, ship and run distributed applications. Using Docker, companies in Jordan have been able to build powerful system architectures that allow speeding up delivery, easing deployment processes and at the same time cutting major hosting costs.
George Khoury shares his experience at Salalem in building flexible and cost effective architectures using Docker and other tools for infrastructure orchestration. The result allows them to easily and quickly move between different cloud providers.
The slides talk about Docker and container terminologies but will also be able to see the big picture of where & how it fits into your current project/domain.
Topics that are covered:
1. What is Docker Technology?
2. Why Docker/Containers are important for your company?
3. What are its various features and use cases?
4. How to get started with Docker containers.
5. Case studies from various domains
Grazie a Docker è possibile costruire ambienti di sviluppo e di produzione consistenti e riproducibili, in questo talk parleremo delle origini e della storia di Docker, le technical foundation ed alcuni use-cases pratici per capire come è fatto un ambiente dockerizzato e come poterlo usare al meglio.
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
Take Pride in Your Code - Test-Driven DevelopmentBADR
TDD is one of the best practices a developer would pick throughout his professional career. In this slide-deck, we shed a light on enriching your code with the goodies of TDD.
The Perks and Perils of the Singleton Design PatternBADR
Singleton design pattern is on the most famous and used design patterns. It's also a source of endless debates between software engineers! In this session, we discuss the perks and perils of the singleton design patters.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
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?
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 Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
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.
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.
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.
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.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
SOCRadar Research Team: Latest Activities of IntelBroker
Docker up and Running For Web Developers
1.
2. Docker Up and Running for Web
Developers
Amr Fawzy Mohammed
3. Outline
● What is Docker ?
● Docker Overview
● Why Docker ?
● What is the Docker platform ?
● Union file systems
● What happens when you run a container ?
● Install Docker
● Managing Images and Containers
● Docker Networking
● Get source code into a Container
● Volumes
● Communication between Containers
4. ● First we need to know what Containers actually are or
what they bring to the table, in order to do this we
need to briefly review the history of an application's
runtime environment.
What is Docker ?
5. ● In the beginning we used to build applications directly
on physical servers in 1:1 ratio.
Application's Runtime Environment
6. ● Disadvantages of this technique:
○ Every application requires a ton of infrastructure.
○ It takes a lot of time to deploy or scale an app.
○ Financially, that was a highly expensive.
○ It causes massive waste of resources.
■ Most of the time these servers run at a tiny fraction of their
capabilities.
Application's Runtime Environment cont.
7. ● This solution was not meant to be last for a long time.
● Virtualization takes place.
Application's Runtime Environment cont.
8. ● Virtualization technology
enables to build multiple
virtual machines on top
of a physical machine
which means running
multiple applications on
top of a single physical
server.
Application's Runtime Environment cont.
10. ● Each virtual machine has it's own OS which is
considered a huge overhead and a massive waste of the
host physical machine's resources.
Application's Runtime Environment cont.
11. ● The efficient solution
was using Containers.
Application's Runtime Environment cont.
12. ● Containers are way more lightweight than Virtual
machines (no Guest OS).
● Each Container consumes less CPU,RAM,Disk space than
a VM, But still provides a secure isolated runtime
environment for the application.
Application's Runtime Environment cont.
14. ● Technologies that allow you to package and isolate
applications from the rest of the system.
● Containers make it easy to Deploy Applications without
massive headaches, rewriting, and break-fixing.
What are containers ?
15. ● Chroot system call
○ Seeds for today’s containers were planted in 1979 with the
addition of the chroot system call to Version 7 Unix.
● FreeBSD jail
○ In 2000, FreeBSD 4.0 was released with a new command called
jail which expanded chroot’s capabilities.
A brief history of containers
16. ● Solaris Zones
○ In 2004, Sun released an early build of Solaris 10, which
included Solaris Containers, and later evolved into Solaris
Zones.
● HP-UX Containers
○ In 2007, HP released Secure Resource Partitions for HP-UX later
renamed to HP-UX Containers.
A brief history of containers cont.
17. ● Linux Containers (LXC)
○ In 2008, Linux Containers (LXC) were released in version 2.6.24
of the Linux kernel.
● Docker
○ In 2013, the phenomenal growth of Linux Containers starts to
grow with the inclusion of user namespaces in version 3.8 of
the Linux Kernel and the release of Docker one month later.
A brief history of containers cont.
18. ● Docker is a platform for Developers and System Admins
to develop, ship, and run applications.
● Docker provides the ability to package and run an
application in a loosely isolated secured environment
called a container.
Docker Overview
19. ● Faster delivery of your applications.
● Faster deployment makes for easier management.
○ Docker speeds up the work flow, so it gets easier to make lots of
small changes instead of huge updates.
○ Smaller changes mean reduced risk and more uptime.
Why Docker ?
20. ● Docker helps developers to care about their
applications inside containers while sysadmins work on
running the container in your deployment.
● “This separation of duties streamlines and simplifies
the management and deployment of code”
Why Docker ? Cont.
21. ● Deploy and scale more easily.
● Docker containers run (almost) everywhere.
● Ensure consistency between environments.
Why Docker ? Cont.
22. ● We can run more containers on a given hardware
combination than if you were using virtual machines.
Why Docker ? Cont.
23. ● Eliminate applications conflicts.
● Less OS maintenance (only the host OS).
● Ultimate portability between multiple environment.
● Setup development environment very quickly.
● Ship software faster.
● Fast deployment.
● Allows very easy scalability.
● Opens massive opportunities for automated testing.
● Moves control of the environment to the development
team.
Summarizing Docker Benefits
24. ● Docker provides a platform to manage the lifecycle of
your containers:
○ Encapsulate your applications into Docker containers.
○ Distribute and ship those containers to your teams for further
development and testing.
○ Deploy those applications to your production environment.
What is the Docker platform ?
25. ● Docker Engine
○ lightweight and powerful open source container virtualization
technology combined with a workflow for building and
containerizing applications.
● Docker Registries
Docker Platform Components
27. ● A client-server application with these major
components:
○ Server (docker daemon)
○ A REST API
○ Client (CLI)
Docker Engine
28. ● The Docker daemon runs on a host machine.
● The user uses the Docker client to interact with the
daemon.
● The daemon creates and manages Docker objects, such
as images, containers, networks, and data volumes.
Docker Daemon
29. ● In the form of the docker binary.
● It accepts commands from the user and communicates
with the Docker daemon.
● One client can communicate with multiple unrelated
daemons.
Docker Client
30. ● Union file systems allow files and directories of
separate file systems, known as branches, to be
transparently overlaid, forming a single coherent file
system.
● Docker uses union file systems to combine these layers
into a single image.
Union file systems
31. Union file systems cont.
● These layers are one of the reasons Docker is so
lightweight.
○ When you change a Docker image, a new layer is built and
replaces only the layer it updates.
○ To distribute the update, you only need to transfer the updated
layer.
● Layering speeds up distribution of Docker images.
32. ● A docker image is a read-only template.
● Docker images are the basis of the Docker containers.
● Docker images are the build component of Docker.
● You can build images from scratch or download and use
images created by others.
Docker images
33. ● Dockerfile is a text document that contains all the
commands and instructions that Docker can use to
automatically build images.
● Every image starts from a base image such as ubuntu,
fedora or an image of your own such as Apache, Nginx,
Ruby, etc.
Dockerfile
34. Dockerfile cont.
● Each instruction in the Dockerfile creates a new layer
in the image.
● Each image consists of a series of layers.
● Creating Image from Dockerfile
○ sudo docker build -t $image_name .
35. ● FROM : Specify the base image
● MAINTAINER : Specify the image maintainer
● RUN : Run a command
● ADD : Add a file or directory
● EXPOSE : expose ports to be accessed
● ENV : Create an environment variable
● CMD : What process to run when launching a container
from this image.
Some Dockerfile instructions
36. ● A Docker container is a runnable instance of a Docker
image.
● You can run, start, stop, move, or delete a container
using Docker CLI commands.
● Docker containers are the run component of Docker.
Docker containers
38. ● A docker registry is a library of images.
● A registry can be public or private.
● Can be on the same server as the Docker daemon or
Docker client, or on a totally separate server.
● Docker registries are the distribution component of
Docker.
Docker registries
39. ● $ docker run -i -t ubuntu /bin/bash
● This command tells the Docker daemon to create and
start a container using the ubuntu image, run it in an
interactive mode (-i),Allocate a pseudo-TTY and to run
the /bin/bash command.
● So, what actually the Engine does behind the scene ?!
What happens when you run a container ?
40. ● Pulls the ubuntu image.
● Creates a new container.
● Allocates a filesystem and mounts a read-write layer.
● Allocates a network / bridge interface.
● Sets up an IP address.
● Executes the /bin/bash executable.
● Captures and provides application output.
○ (due to interactive mode)
What happens when you run a container?
Cont.
41. ● Docker Engine is supported on Linux, Cloud, Windows,
and macOS.
● For Linux use the script on this link :
− https://get.docker.com/
● For Windows or Mac Docker can be installed using
Docker Toolbox
Install Docker
43. ● Docker machine is a tool that can be used to
○ Create Docker hosts on your Mac or Windows box, on your
company network, in your data center, or on cloud providers.
○ Manage this host (start,stop,restart,..etc).
○ Upgrade the Docker client and daemon.
○ Configure a Docker client to talk to your host.
Docker Machine
45. ● sudo docker search $image_name
○ Search for an image on Docker hub repository.
● sudo docker pull $image_name
○ Pull the required image from docker hub repository.
○ Update the installed images if there is any new updates.
● sudo docker images
○ List all images on the system.
● sudo docker rmi $image_name
○ Remove an image.
Managing Images and Containers
46. ● sudo docker run --name $cont_name -d
$image_name
○ Spin up a container from an image and make it run in the
background.
● sudo docker ps
○ List the currently running containers.
● sudo docker ps -a
○ List all the containers whether they are running or not.
Managing Images and Containers cont.
47. ● sudo docker rm $container_name
○ Remove a stopped container.
● sudo docker rm -f $container_name
○ Force remove a container.
● sudo docker stop $container_name
○ Stop a running container.
● sudo docker inspect $container_name OR
$image_name
○ This displays all the information available in Docker for a given
container or image.
Managing Images and Containers cont.
48. ● sudo docker exec -it $container_name
<command>
○ Attach to the the running container.
○ Modify this running container.
● sudo docker commit $container_name
$image_name
○ Commit the modified container into image.
Creating Image from a modified container
49. ● When Docker creates a
container, it creates two
virtual interfaces, one of
which sits on the
server-side and is
attached to the docker0
bridge, and one that is
exposed into the
container’s namespace.
Docker Networking
50. ● sudo docker run -d -p 8080 $image_name
○ Port mapping.
○ Publish port 8080 from inside the container to the docker Host
on a random port (say 1234), So that the app running on port
8080 inside the container will be accessed through the host IP
on that random port.
● sudo docker run -d -p 3000:8080 $image_name
○ Port redirection.
○ Publish port 8080 from inside the container to the docker Host
on port 3000.
Docker Networking cont.
51. Docker Networking cont.
● sudo docker run -d --net=host $image_name
○ Host Networking.
○ Share the host IP address.
● sudo docker inspect $container_name | grep
IPAddress
○ Get the IP Address of the running container.
53. ● Create a container volume that points to the source
code.
● Add your source code into a custom image that is used
to create a container.
Get source code into a Container
54. ● A special type of directories in a container typically
referred to as a “data volume”.
● Can be shared and reused among containers.
Volumes
56. Communication between Containers
● Linking containers with names by using --link option
○ sudo docker run --name myMongodbContainer -d mongo
○ sudo docker run --name railsAppContainer -p
3005:3000 --link myMongodbContainer:mongodbContainer
-d afawzy/integrationImage
57. Communication between Containers
● Create a custom bridge network and add containers
into it.
○ sudo docker network create --driver bridge
isolated_network
○ sudo docker run --name mongodbContainer
--net=isolated_network -d mongo
○ sudo docker run --name railsAppContainer
-p3005:3000 --net=isolated_network -d
afawzy/integrationImage
58. References
● https://docs.docker.com/
● man docker
● Docker: Up & Running: Shipping Reliable Containers in Production
● Docker: Intro - CBT Nuggets
● Docker for Web Developers - Pluralsight
● Docker Deep Dive - Pluralsight
● Learn how to deploy Docker applications to production - udemy