Docker is an open platform for building, shipping and running containers. It provides lightweight virtualization that allows applications to run reliably from one computing environment to another. Some key benefits of Docker include guaranteed consistency through isolation of applications and their dependencies into lightweight executable packages called containers.
MIT Licensed - Reuse freely, but attribute "Hamilton Turner"
An introduction to the Docker container engine. Focuses on how to use Docker and implications of Docker for Cloud-based services. Shows multiple examples of rapidly starting complex environments using Docker. Very minor discussion on how Docker works technically.
Presentation source is available at https://github.com/hamiltont/intro-to-docker
Docker and Containers for Development and Deployment — SCALE12XJérôme Petazzoni
Docker is an Open Source engine to build, run, and manage containers. We'll explain what are Linux Containers, what powers them (under the hood), and what extra value Docker brings to the table. Then we'll see what the typical Docker workflow looks like from a developer point of view. We'll also give an Ops perspective, including deployment options. If you already saw a "Docker 101", consider this presentation as the February 2014 update! :-)
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.
Architecting .NET Applications for Docker and Container Based DeploymentsBen Hall
This document discusses using Docker containers to deploy .NET applications. It covers running a basic ASP.NET application in a Docker container, linking multiple containers together, and using tools like Docker Gen and Consul for service discovery. It also explores possibilities for the future like running SQL Server and Visual Studio in containers, and how Docker can help close the gap between development and production. The overall message is that Docker is a useful tool for deploying many types of applications, including those built on .NET.
If you're not familiar with Docker yet, here is your chance to catch up: a quick overview of the Open Source Docker Engine, and its associated services delivered through the Docker Hub. It also includes Jérôme will also discuss the new features of Docker 1.0, and briefly explain how you can run and maintain Docker on Azure. In addition, an Azure team member will demonstrate how deploy docker to Azure. The presentation will be followed by a Q&A session!
It is a simple introduction to the containers world, starting from LXC to arrive to the Docker Platform.
The presentation is focused on the first steps in the docker environment and the scenarious from a developer point of view.
Docker containers are other piece of the new Connections architecture that makes it a highly extensible and flexible collaboration platform. Flashing back to IBM Connect 17 in San Francisco, I knew Docker was going to be a topic of high interest as the Docker session was standing room only. Predicated on this I decided to conduct an introduction to Docker session at Social Connections 11.
We created a Redis container from the Redis image and ran it in detached mode. We then ran another container interactively to connect to the Redis server using the host IP and exposed port. Docker creates containers with isolated filesystems, network stacks, and process spaces from images. When a container starts, Docker joins the container process to the necessary namespaces to isolate it and sets up the network and filesystem.
This document provides an overview of Docker for developers. It discusses Docker's capabilities for solving portability issues, its advantages over traditional virtualization through operating system-level virtualization using containers that share the same kernel, and how it addresses challenges like slow development times and inefficient resource usage. It also covers Docker concepts like images, containers, registries, networking, security best practices using tools like Docker Bench Security, and cluster management using Docker Swarm.
This document summarizes a presentation about using Docker for development. It discusses installing Docker, running a "Hello World" Docker image, building a custom Python Docker image, and composing a more complex Docker application with PHP, MySQL, and Apache. The benefits of Docker like lightweight containers, easy environment setup, and scalability are highlighted. Some challenges with scaling and orchestration are also mentioned, along with solutions like Docker Swarm and Kubernetes.
This document provides an introduction to Docker and includes instructions for several exercises to help users learn Docker in 90 minutes. The document covers downloading and running Docker containers, creating Docker images, understanding Docker layers, exposing container ports, using Dockerfiles to build images, and sharing images in Docker repositories. The exercises guide users through hands-on experience with common Docker commands and concepts.
This document provides instructions on installing and using Docker on Linux (Ubuntu) and Windows. It discusses installing Docker on Ubuntu, basic Docker commands like images, ps, pull, run options for ports, volumes, and other commands. For Windows, it recommends using Docker Toolbox which includes Docker Machine, Engine, Compose and Kitematic GUI. It also covers installing the newer Docker for Windows which requires Windows 10 Pro/Enterprise with Hyper-V enabled.
Docker is a system for running applications securely isolated in a container to provide a consistent deployment environment. The document introduces Docker, discusses the challenges of deploying applications ("the matrix from hell"), and how Docker addresses these challenges by allowing applications and their dependencies to be packaged into lightweight executable containers that can run on any infrastructure. It also summarizes key Docker tools like Docker Compose for defining and running multi-container apps, Docker Machine for provisioning remote Docker hosts in various clouds, and Docker Swarm for clustering Docker hosts.
This document provides an introduction to Docker presented by Tibor Vass, a core maintainer on Docker Engine. It outlines challenges with traditional application deployment and argues that Docker addresses these by providing lightweight containers that package code and dependencies. The key Docker concepts of images, containers, builds and Compose are introduced. Images are read-only templates for containers which sandbox applications. Builds describe how to assemble images with Dockerfiles. Compose allows defining multi-container applications. The document concludes by describing how Docker improves the deployment workflow by allowing testing and deployment of the same images across environments.
This document provides an introduction and overview of Docker. It discusses why Docker is useful for isolation, simplicity, and workflow. It also covers the Docker platform, including the Docker engine, images, containers, and networking. Key components are the Docker daemon, Docker CLI, and Docker Hub registry. Demos are provided on installing Docker and using Docker for building images, running containers with volumes, and configuring Docker networking.
Adrian Otto from Rackspace will present his perspective of "Docker 101", for Docker novices. Learn the difference between Dockerfiles, containers, running containers, terminated containers, container images, Docker Registry, and a demo of the Docker CLI that goes beyond what you learn from the online simulator.
This document introduces Docker and provides an overview of its key features and benefits. It explains that Docker allows developers to package applications into lightweight containers that can run on any Linux server. Containers deploy instantly and consistently across environments due to their isolation via namespaces and cgroups. The document also summarizes Docker's architecture including storage drivers, images, and the Dockerfile for building images.
Running Docker in Development & Production (DevSum 2015)Ben Hall
This document provides an overview of Docker containers and how to use Docker for development and production environments. It discusses Docker concepts like images, containers, and Dockerfiles. It also demonstrates how to build images, run containers, link containers, manage ports, and use Docker Compose. The document shows how Docker can be used to develop applications using technologies like ASP.NET, Node.js, and Go. It also covers testing, deploying to production, and optimizing containers for production.
This document summarizes a Docker workshop that covers:
1. Running Docker containers, including starting containers interactively or detached, checking statuses, port forwarding, linking containers, and mounting volumes.
2. Building Docker images, including committing existing containers or building from a Dockerfile, and using Docker build context.
3. The official Docker Hub for finding and using common Docker images like Redis, MySQL, and Jenkins. It also covers tagging and pushing images to private Docker registries.
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.
Running the Oracle SOA Suite Environment in a Docker ContainerGuido Schmutz
Running the Oracle SOA Suite Environment in a Docker Container
The document discusses running the Oracle SOA Suite environment in a Docker container. It begins with an introduction to Docker and its benefits over virtual machines. It then demonstrates various Docker commands like run, logs, images, ps to launch and manage containers. It also covers building custom images using Dockerfiles. The document provides examples to showcase common Docker tasks like committing changes to an image, pulling images, stopping and removing containers.
Docker Essentials Workshop— Innovation Labs July 2020CloudHero
This presentation was the foundation of our Docker Essentials workshop hosted by CloudHero CEO & founder Andrei Manea for the Innovation Labs team on the 23rd of July 2020.
This presentation covers the following topics:
-Getting started with containers
-A bit of history about orchestration
-Introduction to services (what they are, how to create and scale them).
To find out more about this topic, check https://cloudhero.io/
JDO 2019: Tips and Tricks from Docker Captain - Łukasz LachPROIDEA
The document provides tips and tricks for using Docker including:
1) Installing Docker on Linux in an easy way allowing choice of channel and version.
2) Setting up a local Docker Hub mirror for caching and revalidating images.
3) Using docker inspect to find containers that exited with non-zero codes or show commands for running containers.
4) Organizing docker-compose files with extensions, environment variables, anchors and aliases for well structured services.
Introduction to Docker - Learning containerization XP conference 2016XP Conference India
Docker containers package applications and their dependencies to run consistently regardless of environment. Containers are more lightweight than virtual machines and use fewer resources. Docker images define the components of containers. The Dockerfile defines how to build images. Docker Compose defines multi-container applications through a YAML file specifying images, networking, volumes etc.
This document discusses Docker, including:
1. Docker is a platform for running and managing Linux containers that provides operating-system-level virtualization without the overhead of traditional virtual machines.
2. Key Docker concepts include images (immutable templates for containers), containers (running instances of images that have mutable state), and layers (the building blocks of images).
3. Publishing Docker images to registries allows them to be shared and reused across different systems. Volumes and networking allow containers to share filesystems and communicate.
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
Docker provides a new, powerful way of prototyping, testing and deploying applications on cloud-based infrastructures. In this seminar we delve into the concept of Docker containers without requiring any previous knowledge from the audience.
Docker: A New Way to Turbocharging Your Apps Developmentmsyukor
Docker is a platform for developing, shipping, and running applications. It provides containers that package applications and dependencies together allowing them to run seamlessly on any infrastructure. The document discusses Docker concepts like containers, images, and the Docker ecosystem. It also provides examples of using Docker with various applications and frameworks like PHP, Java, .NET, Nginx, and Apache. Managing Docker containers at scale can be done with tools like Kubernetes, Docker Datacenter, Rancher, and Prometheus for monitoring.
This document discusses using Docker for development and delivery environments. It begins with an introduction to Docker, explaining that it is an open platform for building, shipping and running distributed applications using lightweight containers. It then covers benefits of Docker like portability and reduced dependencies compared to traditional VMs. The document shows how to install and configure Docker, build Docker images from Dockerfiles, run containers from images using docker-compose, modify images and redeploy them. It also discusses using Docker to build microservices applications with independent, upgradeable services in separate containers.
Docker can be used to containerize applications. It provides lightweight containers that bundle code and dependencies together. Some key Docker concepts include images, which are executable packages, and containers, which are runtime instances of images. Containers are more portable and lightweight than virtual machines. The document provides an introduction to Docker and demonstrates some basic Docker commands like running a container from an image, building an image, committing changes to a new image, and managing containers.
Docker - from development to production (PHPNW 2017-09-05)Toby Griffiths
Whether you've heard about Docker or not, it's recent explosion into the development community makes it something that's difficult to ignore.
In this talk I'll cover how to get up and running with Docker for development.
Runcy Oommen discusses security for cloud native workloads and containers. Some key points include:
1) The shared responsibility model where cloud providers and customers both have responsibilities for security.
2) Securing the container lifecycle from build to deploy to run through measures like limiting access, resource management, and network segmentation.
3) Kubernetes security improvements such as disabling anonymous authentication, configuring admission controllers, pod security policies, enabling RBAC, and using network policies.
This document provides an overview of cloud computing and Google Cloud Platform (GCP). It defines cloud computing, describes the key facets of cloud including ubiquity, scalability, and intelligence. It introduces several GCP services for computing, databases, data analytics, networking, and security. It discusses the shared responsibility model and recommends learning computer science fundamentals before focusing on specific cloud providers. Training resources for GCP certifications are also listed.
Serverless security for multi cloud workloadsRuncy Oommen
This document discusses serverless security for multi-cloud environments. It provides an overview of serverless computing and cloud security models. It also describes security services available on AWS, GCP and Azure clouds and discusses how to harden functions as a service (FaaS) by disabling outbound internet access, restricting access to temporary directories and disabling child process execution. Specific exploits like accessing function handlers and manipulating temporary files are demonstrated. The talk recommends provisioning FaaS within private networks and using techniques like monkey patching to dynamically update code behavior and enhance security.
Building AWS native serverless websiteRuncy Oommen
This document provides steps to build a serverless website on AWS. It covers setting up Route 53 for domain registration, DynamoDB for data storage, IAM roles, Lambda functions to handle requests, API Gateway for endpoints, S3 for static hosting, ACM for SSL certificates, CloudFront for CDN and caching, and configuring DNS with Route 53. The overall process brings together these serverless AWS services to create a fully functional static website without having to manage any servers.
Security hardening of core AWS servicesRuncy Oommen
The document discusses security hardening of core AWS services. It identifies weaknesses in the default configurations of Amazon Linux, Elastic Load Balancers, API Gateway, and Certificate Manager. It provides solutions such as upgrading OpenSSH, configuring stronger cipher suites and TLS versions, using CloudFront to front API Gateway, and adding CAA records for certificates. The document aims to help harden AWS services against common vulnerabilities and misconfigurations.
GitHub is a web-based version control and collaboration platform. It allows users to upload project files and code repositories for sharing and collaboration. GitHub has over 31 million users and 100 million repositories. Key terms include repository, clone, fork, and pull request. The document provides instructions for installing Git, creating and working with repositories on GitHub, making commits, opening and merging pull requests, forking other projects, and additional GitHub resources.
GCDC Bengaluru - Community Growth HackingRuncy Oommen
GCDC Bangalore is a community growth hacking group that started in May 2018 with three organizers. The group has grown to over 3,000 members and uses various social media platforms and its own website to engage members. To address issues with no-shows at meetup events, the group disabled RSVPs, puts people on a waitlist by default, sends reminders two days before events, and asks for a simple yes or no response on attendance, which has increased attendance rates.
Earth Engine on Google Cloud Platform (GCP)Runcy Oommen
This document provides an overview of using Earth Engine and Google Cloud Platform. It discusses how to get started with GCP and use command line tools like gcloud, gsutil, and earthengine to manage assets, files, buckets, and permissions. It also describes how to export Earth Engine data like images, tables, videos, and map tiles directly to Cloud Storage for further use or sharing.
GitHub is a web-based version control and collaboration platform used by over 31 million users. It allows users to store code in online repositories and collaborate on projects. The document provides instructions on setting up a GitHub account, installing Git, creating and committing to repositories, opening pull requests to contribute to others' projects, forking repositories to contribute back to open source projects, and cloning repositories to work on code locally.
Run C++ as serverless with GCP Cloud FunctionsRuncy Oommen
Runcy Oommen discusses using Google Cloud Functions with C++. Cloud Functions allows code to be written in Node.js or Python and executed in corresponding runtimes. It can access GCP services and be triggered by events from HTTP, Cloud Storage, Cloud Pub/Sub, and Firebase. The document walks through building a C++ addon for Cloud Functions using V8, binding.gyp, and Node.js to invoke the native code. It describes uploading the files, testing the function, and depicting the overall flow.
Effective Tech Community Engagement - Best PracticesRuncy Oommen
This document provides best practices for effective community engagement in 3 stages: 1) Build your brand and recognition through small contributions, 2) Open up your work by presenting at meetups and publishing materials, and 3) Achieve "community nirvana" by becoming a meetup organizer. It also outlines plans for engaging the Google Cloud Community, including maximizing diverse membership, joint events, and activities like extended sessions, study groups, and webinars.
The document discusses using IoT and blockchain solutions to address issues with street lighting in Jaipur, India and privacy with Aadhaar authentication. It notes that Jaipur has 198,000 street lights that use around 30,000 MW of energy annually at a cost of 1.13 billion rupees. A proposed IoT-based street light system could save up to 50% of energy costs through controlled dimming and switching based on sensors. It also proposes a blockchain solution to provide an auditable record of all Aadhaar authentications while maintaining individual privacy.
The document proposes using technologies like computer vision, sensors, and data analytics to capture customer touchpoints and behavior in physical stores in order to better understand customers, increase customer experience and conversion rates, and improve marketing effectiveness and operational efficiency. A solution is outlined that involves collecting data from sources like video cameras, WiFi, beacons, and point of sale to analyze customer segmentation, journeys, and preferences. The goal is to help stores compete with e-commerce companies by gaining similar insights into personalized customer experiences.
Intro to Virtualization - 10000 feet viewRuncy Oommen
Virtualization allows multiple virtual machines to run on a single physical machine, with each virtual machine sharing the resources of the physical computer. A hypervisor sits between the hardware and operating systems, interacting with hardware resources and providing an interface to share them with virtual machines. There are two main types of hypervisors: type-1 or native hypervisors run directly on hardware, while type-2 or hosted hypervisors run on a conventional operating system. Virtualization can be full, where the hypervisor directly interacts with hardware, para where guest operating systems are aware of each other, or OS-level where virtualization is part of the host OS. A virtual machine acts like a separate computer running its own operating system and applications virtually using shared hardware resources
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
AI_dev Europe 2024 - From OpenAI to Opensource AIRaphaël Semeteys
Navigating Between Commercial Ownership and Collaborative Openness
This presentation explores the evolution of generative AI, highlighting the trajectories of various models such as GPT-4, and examining the dynamics between commercial interests and the ethics of open collaboration. We offer an in-depth analysis of the levels of openness of different language models, assessing various components and aspects, and exploring how the (de)centralization of computing power and technology could shape the future of AI research and development. Additionally, we explore concrete examples like LLaMA and its descendants, as well as other open and collaborative projects, which illustrate the diversity and creativity in the field, while navigating the complex waters of intellectual property and licensing.
Coordinate Systems in FME 101 - Webinar SlidesSafe Software
If you’ve ever had to analyze a map or GPS data, chances are you’ve encountered and even worked with coordinate systems. As historical data continually updates through GPS, understanding coordinate systems is increasingly crucial. However, not everyone knows why they exist or how to effectively use them for data-driven insights.
During this webinar, you’ll learn exactly what coordinate systems are and how you can use FME to maintain and transform your data’s coordinate systems in an easy-to-digest way, accurately representing the geographical space that it exists within. During this webinar, you will have the chance to:
- Enhance Your Understanding: Gain a clear overview of what coordinate systems are and their value
- Learn Practical Applications: Why we need datams and projections, plus units between coordinate systems
- Maximize with FME: Understand how FME handles coordinate systems, including a brief summary of the 3 main reprojectors
- Custom Coordinate Systems: Learn how to work with FME and coordinate systems beyond what is natively supported
- Look Ahead: Gain insights into where FME is headed with coordinate systems in the future
Don’t miss the opportunity to improve the value you receive from your coordinate system data, ultimately allowing you to streamline your data analysis and maximize your time. See you there!
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Erasmo Purificato
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/07/intels-approach-to-operationalizing-ai-in-the-manufacturing-sector-a-presentation-from-intel/
Tara Thimmanaik, AI Systems and Solutions Architect at Intel, presents the “Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” tutorial at the May 2024 Embedded Vision Summit.
AI at the edge is powering a revolution in industrial IoT, from real-time processing and analytics that drive greater efficiency and learning to predictive maintenance. Intel is focused on developing tools and assets to help domain experts operationalize AI-based solutions in their fields of expertise.
In this talk, Thimmanaik explains how Intel’s software platforms simplify labor-intensive data upload, labeling, training, model optimization and retraining tasks. She shows how domain experts can quickly build vision models for a wide range of processes—detecting defective parts on a production line, reducing downtime on the factory floor, automating inventory management and other digitization and automation projects. And she introduces Intel-provided edge computing assets that empower faster localized insights and decisions, improving labor productivity through easy-to-use AI tools that democratize AI.
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecJames Anderson
The lecture titled "Automating AppSec" delves into the critical challenges associated with manual application security (AppSec) processes and outlines strategic approaches for incorporating automation to enhance efficiency, accuracy, and scalability. The lecture is structured to highlight the inherent difficulties in traditional AppSec practices, emphasizing the labor-intensive triage of issues, the complexity of identifying responsible owners for security flaws, and the challenges of implementing security checks within CI/CD pipelines. Furthermore, it provides actionable insights on automating these processes to not only mitigate these pains but also to enable a more proactive and scalable security posture within development cycles.
The Pains of Manual AppSec:
This section will explore the time-consuming and error-prone nature of manually triaging security issues, including the difficulty of prioritizing vulnerabilities based on their actual risk to the organization. It will also discuss the challenges in determining ownership for remediation tasks, a process often complicated by cross-functional teams and microservices architectures. Additionally, the inefficiencies of manual checks within CI/CD gates will be examined, highlighting how they can delay deployments and introduce security risks.
Automating CI/CD Gates:
Here, the focus shifts to the automation of security within the CI/CD pipelines. The lecture will cover methods to seamlessly integrate security tools that automatically scan for vulnerabilities as part of the build process, thereby ensuring that security is a core component of the development lifecycle. Strategies for configuring automated gates that can block or flag builds based on the severity of detected issues will be discussed, ensuring that only secure code progresses through the pipeline.
Triaging Issues with Automation:
This segment addresses how automation can be leveraged to intelligently triage and prioritize security issues. It will cover technologies and methodologies for automatically assessing the context and potential impact of vulnerabilities, facilitating quicker and more accurate decision-making. The use of automated alerting and reporting mechanisms to ensure the right stakeholders are informed in a timely manner will also be discussed.
Identifying Ownership Automatically:
Automating the process of identifying who owns the responsibility for fixing specific security issues is critical for efficient remediation. This part of the lecture will explore tools and practices for mapping vulnerabilities to code owners, leveraging version control and project management tools.
Three Tips to Scale the Shift Left Program:
Finally, the lecture will offer three practical tips for organizations looking to scale their Shift Left security programs. These will include recommendations on fostering a security culture within development teams, employing DevSecOps principles to integrate security throughout the development
this resume for sadika shaikh bca studentSadikaShaikh7
I am a dedicated BCA student with a strong foundation in web technologies, including PHP and MySQL. I have hands-on experience in Java and Python, and a solid understanding of data structures. My technical skills are complemented by my ability to learn quickly and adapt to new challenges in the ever-evolving field of computer science.
Blockchain and Cyber Defense Strategies in new genre timesanupriti
Explore robust defense strategies at the intersection of blockchain technology and cybersecurity. This presentation delves into proactive measures and innovative approaches to safeguarding blockchain networks against evolving cyber threats. Discover how secure blockchain implementations can enhance resilience, protect data integrity, and ensure trust in digital transactions. Gain insights into cutting-edge security protocols and best practices essential for mitigating risks in the blockchain ecosystem.
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threatsanupriti
In the rapidly evolving landscape of blockchain technology, the advent of quantum computing poses unprecedented challenges to traditional cryptographic methods. As quantum computing capabilities advance, the vulnerabilities of current cryptographic standards become increasingly apparent.
This presentation, "Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats," explores the intersection of blockchain technology and quantum computing. It delves into the urgent need for resilient cryptographic solutions that can withstand the computational power of quantum adversaries.
Key topics covered include:
An overview of quantum computing and its implications for blockchain security.
Current cryptographic standards and their vulnerabilities in the face of quantum threats.
Emerging post-quantum cryptographic algorithms and their applicability to blockchain systems.
Case studies and real-world implications of quantum-resistant blockchain implementations.
Strategies for integrating post-quantum cryptography into existing blockchain frameworks.
Join us as we navigate the complexities of securing blockchain networks in a quantum-enabled future. Gain insights into the latest advancements and best practices for safeguarding data integrity and privacy in the era of quantum threats.
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
Interaction Latency: Square's User-Centric Mobile Performance MetricScyllaDB
Mobile performance metrics often take inspiration from the backend world and measure resource usage (CPU usage, memory usage, etc) and workload durations (how long a piece of code takes to run).
However, mobile apps are used by humans and the app performance directly impacts their experience, so we should primarily track user-centric mobile performance metrics. Following the lead of tech giants, the mobile industry at large is now adopting the tracking of app launch time and smoothness (jank during motion).
At Square, our customers spend most of their time in the app long after it's launched, and they don't scroll much, so app launch time and smoothness aren't critical metrics. What should we track instead?
This talk will introduce you to Interaction Latency, a user-centric mobile performance metric inspired from the Web Vital metric Interaction to Next Paint"" (web.dev/inp). We'll go over why apps need to track this, how to properly implement its tracking (it's tricky!), how to aggregate this metric and what thresholds you should target.
6. Why Docker?
“Docker containers wrap a piece of software in a complete
filesystem that contains everything needed to run: code,
runtime, system tools, system libraries – anything that can
be installed on a server. This guarantees that the software
will always run the same, regardless of its environment.”
source: https://www.docker.com/what-docker
18. How to do “hello world” in
Docker?
$ docker run docker/whalesay cowsay Hello World
19. 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
20. How to do “hello world” in
Docker?
$ docker run -it hello-world
21. How to get help on commands to
use?
$ docker --help
22. Docker commands look like Linux commands - so
familiarity with Linux commands can really help to get
up to speed quickly with Docker.
25. How to search for an image?
$ docker search <image_name>
26. How to get an image?
$ docker pull <image_name>
In my case fedora image was
already pulled. If it were not there,
Docker would have pulled it afresh
27. Choose smaller images
❖ Example: 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
❖ Prefer choosing a smaller base image that provides
equivalent functionality (for your requirement) instead of
choosing a larger one
28. How to get details of an
image?
$ docker inspect <image_name>
29. How to see “layers” in an image?
$ docker history <image_name>
Each of these lines are layers and
the size column shows the exact size
of each layer in the image
30. How can I load and store
images?
$ docker save <image_name> -o <filename.tar>
$ docker load –i <filename.tar>
31. How do I delete an image?
$ docker rmi <image-tag>
32. How to delete all docker images?
$ docker rmi $(docker images -q)
docker images -q
lists all image ids
❖ Avoid “Image Sprawl”
❖ Remove unused images and release disk
space
33. How to find “dangling
images”?
$ docker images -f "dangling=true"
❖ Remove “dangling images” using the command below:
$ docker rmi $(docker images -f "dangling=true" -q)
36. How to run a container?
$ docker run OPTIONS <image-tag> CMD ARGS
$ docker run fedora /bin/echo 'Hello world'
Image name Command argument
Command name
37. How to run a container
interactively?
$ docker run –i -t fedora /bin/bash
Interactive
Run in terminal
40. How to run a container in the
background?
$ docker run -d alpine /bin/sh -c "while true; do echo current date and time is: $(date); sleep 10; done"
Detach
41. How to expose/map a port?
$ docker inspect c7ada3308269 | grep Port
$ docker run –d –p 80:80 nginx
Mapped port - nginx
host port (on which this command is run)
43. How to expose a port?
$ docker run -d -p 80 --name mynginx
nginx
$ docker inspect mynginx | grep
Port
randomly assigned and mapped
port number (by docker)
host port; since no explicit mapped
port is provided, a random port is
assigned
44. How to expose all exposed
ports?
$ docker run -d -P --name mynginx
nginx
$ docker port
mynginx
-P publishes all exposed ports to random ports
45. Exposing ports
$ docker run -d -p 80 --name nginx1 nginx
d415758906dccc07aae319fc438c825e878ea00ffd58551c63d5c41fd39e4153
$ docker port nginx1
80/tcp -> 0.0.0.0:32769
Maps the port 80 from
container to a random port in
the host
$ docker run -d -p 80:80 --name nginx2 nginx
4d7c26218b440d054d33799b7be1174254db50550254211d739f9403ca4092e9
$ docker port nginx2
80/tcp -> 0.0.0.0:80
Maps the port 80 from
container to port 80 in the host
$ docker run -d -p 80:80 -p 443:443 --name nginx3 nginx
2cfde425380601479aaf5e33a9b1fc09111d84b49595c33f509c00ad2cafc12d
$ docker port nginx3
80/tcp -> 0.0.0.0:80
443/tcp -> 0.0.0.0:443
Maps the container ports 80
and 443 to the same port nos.
in the host
$ docker run -d -P --name nginx4 nginx
8e5fadfbcf5f3145909aed3219738535ad81e534153d5958fbec07f9e9c49e67
$ docker port nginx4
443/tcp -> 0.0.0.0:32770
80/tcp -> 0.0.0.0:32771
Maps the container ports 80
and 443 to random port nos. in
the host
The exposed ports in “nginx:latest” are “443/tcp" and “80/tcp”
46. How to attach to a running
container?
$ docker attach <container_id>
$ docker run –d ubuntu /bin/sh -c "while true; do echo current date and time is: $(date); sleep 10; done"
short for “—detach” and it runs
container in the background
The “attach” command attaches to a running container
47. How to detach from a running container (without
exiting)?
From docker documentation
# To detach the tty without exiting the shell,
# use the escape sequence Ctrl-p + Ctrl-q
49. How do I see all the
containers?
$ docker ps -a
50. Explicitly remove exited
containers
❖ 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).
51. How do I remove a container?
$ docker stop <container_id>
You have to first stop a
container before trying
to remove it
$ docker rm <container_id>
52. How to remove all the
containers?
$ docker stop $(docker ps -a -q)
$ docker rm $(docker ps -a –q)
Note how the output
shows no containers
53. How to debug on a running
container?
$ docker exec –it <container_id> <cmd>
54. Using nginx
Nginx exposes ports 80; -P maps them
randomly in the custom ports range
$ docker run –d –name mynginx –P nginx
55. Using nginx - Example
$ cat Dockerfile
FROM nginx:latest
MAINTAINER Runcy Oommen
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 cropped ...
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
56. How do I run a C program?
$ cat Dockerfile
FROM gcc:latest
MAINTAINER Runcy Oommen 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 cropped...
Successfully built f99e7f18fa42
$ docker run -it mycapp
hello world
57. 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 cropped
Successfully built 0d7a3a12ba9d
$ docker run myjavaapp
hello world
58. Beware of “container
sprawl”
❖ Application broken to run in “too many containers“ can be
difficult to deal with!
“Breaking deployments into more functional discrete
parts is smart, but that means we have MORE
PARTS to manage. There's an inflection point
between separation of concerns and sprawl.”
-- Rob Hirschfeld
(OpenStack Foundation board member)
60. Different ways to create
images
docker commit Build an image from a container
docker build
Create an image from a Dockerfile by executing the
build steps given in the file
docker import
Create a base image by importing from a tarball.
[import is mainly used for creating base-images; first
two options are widely used]
61. Dockerfile - key instructions
FROM
The base image for building the new docker image; provide “FROM scratch” if
it is a base image itself
MAINTAINER The author of the Dockerfile and the email
RUN Any OS command to build the image
CMD
Specify the command to be started when the container is run; can be
overridden by the explicit argument when providing docker run command
ADD Copies files or directories from the host to the container in the given path
EXPOSE Exposes the specified port to the host machine
63. Docker volume commands
Command Description
docker volume create Create a volume
docker volume inspect
Display detailed information on one
or more volumes
docker volume ls List the available volumes
docker volume rm Remove one or more volumes
65. How to persist data?
$ docker run -v /volumetesting --name="persistdata" alpine /bin/sh -c "echo testing
persistence with volumes > /volumetesting/textfile.txt”
$ docker run --volumes-from=persistdata alpine /bin/sh -c "cat /volumetesting/textfile.txt"
testing persistence with volumes
Use -v option to “mount volumes”
67. Removing containers with
volumes
❖ When the container is removed, the volumes will not be
removed. If the volumes also need to be removed, you
have to use the -v option
$ docker rm –v <sha256_hash>
68. Clean up volumes
❖ You can “clean up” the volumes if you aren't using them.
$ docker volume rm $(docker volume ls -q)
70. docker-compose commands
Command Description
docker-compose up (Re)build services
docker-compose kill Kill the containers
docker-compose logs Show the logs of the containers
docker-compose down
Stop and remove images, containers, volumes
and networks
docker-compose rm Remove stopped containers
71. Creating multiple Docker
containers
Step 1. Create a docker-compose.yml file
Step 2. Execute “docker-compose up -d”
Step 3. Execute “docker-compose logs” from another shell (but from same dir)
Step 4. Execute “docker-compose down”
73. Getting the ip address of a
container
$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' fervent_sinoussi
172.17.0.6
$ docker attach fervent_sinoussi
root@856aed6a92f1:/# ip addr
// ...
92: eth0@if93: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:06 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.6/16 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:6/64 scope link
valid_lft forever preferred_lft forever
root@856aed6a92f1:/# cat /etc/hosts
// ...
172.17.0.6 856aed6a92f1
root@856aed6a92f1:/#
There are many ways to get the IP address of a container:
1. Use the docker inspect command
2. Use ip addr command from the container’s shell
3. Use “cat /etc/hosts” and check the entry for the container
74. How to get port mappings of a
container?
$ docker port <container_id>
75. Three kinds of networks
$ docker network ls
By default, containers are
added to the bridge network.
You can see the containers in
bridge network here
76. Docker network commands
Command Description
docker network connect Connect a container to a network
docker network create Create a network
docker network disconnect
Disconnect a container from a
network
docker network inspect
Display detailed information on one
or more networks
docker network ls List networks
docker network rm Remove one or more networks
78. Docker security
“One primary risk with running Docker containers is that the default
set of capabilities and mounts given to a container may provide
incomplete isolation, either independently, or when used in
combination with kernel vulnerabilities”
Source: https://docs.docker.com/engine/security/security/
79. Docker workbench for
security
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
sh docker-bench-security.sh
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
docker-compose run --rm docker-bench-security
OR
❖ Use the free Docker Workbench For Security to check for
violations of security best practices
85. ‘RunC’ container runtime
RunC is the name of the container runtime used by Docker
It is part of OCI (Open Container Initiative)
https://runc.io/
86. Can I use GUI instead of command-
line?
Use “kitematic” (https://github.com/docker/kitematic)
87. Crazy stuff: Docker in
Docker!!
$ docker run --privileged -d docker:dind"
“docker:dind” is the official “Docker In Docker image”
See: https://github.com/jpetazzo/dind
91. Docker is *completely*
portable
There are limitations to portability with Docker (depending on
what you mean by “portable”).
For example, you can run a Windows Docker container only on
Windows and run a Linux Docker container only on Linux (and
not vice versa).
Build once, run anywhere - but conditions apply!
98. Relevant URLs
❖ Docker resources list: https://github.com/hangyan/docker-resources
❖ Self-learning courses: https://training.docker.com/
❖ Detailed documentation: https://docs.docker.com/
❖ Various presentations: http://container.training
❖ SE-Radio Episode 217: James Turnbull on Docker
99. 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)
100. 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
101. 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
102. ❖ Book organized 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
topicshttp://amzn.com/1491915765
Using Docker: Developing and Deploying Software with Containers, Adrian Mouat, O'Reilly Media, 2016
USING
DOCKER