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.
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.
Running Docker in Development & Production (#ndcoslo 2015)Ben Hall
The document discusses running Docker in development and production. It covers:
- Using Docker containers to run individual services like Elasticsearch or web applications
- Creating Dockerfiles to build custom images
- Linking containers together and using environment variables for service discovery
- Scaling with Docker Compose, load balancing with Nginx, and service discovery with Consul
- Clustering containers together using Docker Swarm for high availability
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
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.
This document discusses Docker and provides an introduction and overview. It introduces Docker concepts like Dockerfiles, commands, linking containers, volumes, port mapping and registries. It also discusses tools that can be used with Docker like Fig, Baseimage, Boot2Docker and Flynn. The document provides examples of Dockerfiles, commands and how to build, run, link and manage containers.
1. Create a Dockerfile that defines the base image, installs Nginx and any modules, and exposes ports 80 and 443.
2. Build the image from the Dockerfile using "docker build ."
3. Run a container from the new image and publish the ports so Nginx is accessible.
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.
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.
Running Docker in Development & Production (#ndcoslo 2015)Ben Hall
The document discusses running Docker in development and production. It covers:
- Using Docker containers to run individual services like Elasticsearch or web applications
- Creating Dockerfiles to build custom images
- Linking containers together and using environment variables for service discovery
- Scaling with Docker Compose, load balancing with Nginx, and service discovery with Consul
- Clustering containers together using Docker Swarm for high availability
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
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.
This document discusses Docker and provides an introduction and overview. It introduces Docker concepts like Dockerfiles, commands, linking containers, volumes, port mapping and registries. It also discusses tools that can be used with Docker like Fig, Baseimage, Boot2Docker and Flynn. The document provides examples of Dockerfiles, commands and how to build, run, link and manage containers.
1. Create a Dockerfile that defines the base image, installs Nginx and any modules, and exposes ports 80 and 443.
2. Build the image from the Dockerfile using "docker build ."
3. Run a container from the new image and publish the ports so Nginx is accessible.
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.
Docker is an amazing tool, but unless you work with it every day, you're probably left with a ton of questions. What's a container? What's an image? What's the difference between Docker, Machine, Compose, and Swarm? Why the heck should I care? Well, Docker makes it easier than ever to deploy and scale your applications and services. In addition, it lets you simulate your production environment on your local machine without heavy virtual machines. In this talk, we'll explore the basics of Docker, create a custom image for a web application, create a group of containers, and look at how you can put your apps into production on various cloud providers. At the end of the talk, you'll have the knowledge you need to put this to use with your own applications.
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.
Real World Lessons on the Pain Points of Node.js ApplicationsBen Hall
The document discusses several pain points experienced with Node.js applications and solutions for resolving them. It covers creating a strong foundation by upgrading to Node.js v5, locking down NPM dependencies, handling errors properly with try/catch blocks and promises, deploying applications using Docker for scaling, addressing security issues, and using tools like debug and profilers to improve performance.
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.
This document summarizes a Docker meetup event in Puebla, Mexico celebrating the 4th anniversary of Docker. The meetup included talks about Docker platform and hands-on labs. Ramon Morales gave a presentation about Docker and its components including images, containers, registries, and Docker Engine. He explained how Docker works and potential use cases. The event aimed to educate the local developer community about Docker and encourage participation in the global Docker community.
Looking at how people, with current deployments, can start using docker with out having to replace anything. Also giving a migration path that allows testing the separate pieces and migrating over slowly without painting yourself into a corner. Also covering why you might want to do this and the problems it may help to solve.
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 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.
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.
The document discusses building a lightweight Docker container for Perl by starting with a minimal base image like BusyBox, copying just the Perl installation and necessary shared libraries into the container, and setting Perl as the default command to avoid including unnecessary dependencies and tools from a full Linux distribution. It provides examples of Dockerfiles to build optimized Perl containers from Gentoo and by directly importing a tarball for minimal size and easy distribution.
The document discusses using Docker and Docker Compose to run Python and Django applications. It shows commands for pulling Docker images, running containers, linking databases, mounting volumes, building images, and using Docker Compose to define and run multi-container applications. Key aspects covered include using Dockerfiles to build images, linking containers, mounting host directories as volumes, setting environment variables, and running commands on container startup.
This document provides an introduction to Docker and containerization. It covers:
1. The differences between virtual machines and containers, and the container lifecycle.
2. An overview of the Docker ecosystem tools.
3. Instructions for installing and using the Docker Engine and Docker CLI to build, run, and manage containers.
4. A demonstration of using Docker Hub to build and store container images.
5. An introduction to Docker networking and volumes.
6. A demonstration of using Docker Compose to define and run multi-container applications.
7. Suggestions for further learning resources about Docker.
Preparation study for Docker Event
Mulodo Open Study Group (MOSG) @Ho chi minh, Vietnam
http://www.meetup.com/Open-Study-Group-Saigon/events/229781420/
This document provides instructions for building a multi-container web service using Docker over the course of 90 minutes. It begins with an overview and prerequisites for Docker. It then outlines exercises to revisit Dockerfile, manage data volumes, link containers, use Docker in Docker, build the full service with Haproxy load balancing two Tomcat containers, and use Docker Compose to define and run the application. The goal is to demonstrate how to build and run complex distributed applications with Docker.
This document discusses adopting Docker at FieldAware. It begins by providing a brief overview of Docker, including how it was created and how it differs from virtual machines. It then demonstrates how to build Docker images using Dockerfiles, pull images from Docker Hub, and run containers. Finally, it proposes a roadmap for adopting Docker at FieldAware, including using it for performance testing, developing and testing projects, provisioning with configuration tools, and integrating it into the CI/CD pipeline.
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.
This document provides an agenda for a one-day Docker introduction workshop. It includes an introduction to Docker tools and concepts like containers vs VMs, the Docker ecosystem and tools, Linux and Docker command line usage, Docker Engine, Docker Hub, Docker images, networking and volumes. It also covers deploying Docker images to Azure PaaS, Docker Compose, building ARM images on x86 machines, and a TensorFlow demo. The workshop aims to provide attendees with foundational Docker knowledge and hands-on experience through examples and exercises.
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.
Docker is an amazing tool, but unless you work with it every day, you're probably left with a ton of questions. What's a container? What's an image? What's the difference between Docker, Machine, Compose, and Swarm? Why the heck should I care? Well, Docker makes it easier than ever to deploy and scale your applications and services. In addition, it lets you simulate your production environment on your local machine without heavy virtual machines. In this talk, we'll explore the basics of Docker, create a custom image for a web application, create a group of containers, and look at how you can put your apps into production on various cloud providers. At the end of the talk, you'll have the knowledge you need to put this to use with your own applications.
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.
Real World Lessons on the Pain Points of Node.js ApplicationsBen Hall
The document discusses several pain points experienced with Node.js applications and solutions for resolving them. It covers creating a strong foundation by upgrading to Node.js v5, locking down NPM dependencies, handling errors properly with try/catch blocks and promises, deploying applications using Docker for scaling, addressing security issues, and using tools like debug and profilers to improve performance.
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.
This document summarizes a Docker meetup event in Puebla, Mexico celebrating the 4th anniversary of Docker. The meetup included talks about Docker platform and hands-on labs. Ramon Morales gave a presentation about Docker and its components including images, containers, registries, and Docker Engine. He explained how Docker works and potential use cases. The event aimed to educate the local developer community about Docker and encourage participation in the global Docker community.
Looking at how people, with current deployments, can start using docker with out having to replace anything. Also giving a migration path that allows testing the separate pieces and migrating over slowly without painting yourself into a corner. Also covering why you might want to do this and the problems it may help to solve.
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 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.
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.
The document discusses building a lightweight Docker container for Perl by starting with a minimal base image like BusyBox, copying just the Perl installation and necessary shared libraries into the container, and setting Perl as the default command to avoid including unnecessary dependencies and tools from a full Linux distribution. It provides examples of Dockerfiles to build optimized Perl containers from Gentoo and by directly importing a tarball for minimal size and easy distribution.
The document discusses using Docker and Docker Compose to run Python and Django applications. It shows commands for pulling Docker images, running containers, linking databases, mounting volumes, building images, and using Docker Compose to define and run multi-container applications. Key aspects covered include using Dockerfiles to build images, linking containers, mounting host directories as volumes, setting environment variables, and running commands on container startup.
This document provides an introduction to Docker and containerization. It covers:
1. The differences between virtual machines and containers, and the container lifecycle.
2. An overview of the Docker ecosystem tools.
3. Instructions for installing and using the Docker Engine and Docker CLI to build, run, and manage containers.
4. A demonstration of using Docker Hub to build and store container images.
5. An introduction to Docker networking and volumes.
6. A demonstration of using Docker Compose to define and run multi-container applications.
7. Suggestions for further learning resources about Docker.
Preparation study for Docker Event
Mulodo Open Study Group (MOSG) @Ho chi minh, Vietnam
http://www.meetup.com/Open-Study-Group-Saigon/events/229781420/
This document provides instructions for building a multi-container web service using Docker over the course of 90 minutes. It begins with an overview and prerequisites for Docker. It then outlines exercises to revisit Dockerfile, manage data volumes, link containers, use Docker in Docker, build the full service with Haproxy load balancing two Tomcat containers, and use Docker Compose to define and run the application. The goal is to demonstrate how to build and run complex distributed applications with Docker.
This document discusses adopting Docker at FieldAware. It begins by providing a brief overview of Docker, including how it was created and how it differs from virtual machines. It then demonstrates how to build Docker images using Dockerfiles, pull images from Docker Hub, and run containers. Finally, it proposes a roadmap for adopting Docker at FieldAware, including using it for performance testing, developing and testing projects, provisioning with configuration tools, and integrating it into the CI/CD pipeline.
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.
This document provides an agenda for a one-day Docker introduction workshop. It includes an introduction to Docker tools and concepts like containers vs VMs, the Docker ecosystem and tools, Linux and Docker command line usage, Docker Engine, Docker Hub, Docker images, networking and volumes. It also covers deploying Docker images to Azure PaaS, Docker Compose, building ARM images on x86 machines, and a TensorFlow demo. The workshop aims to provide attendees with foundational Docker knowledge and hands-on experience through examples and exercises.
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.
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.
This document provides an overview of Docker concepts and tools for beginners. It covers:
1. The differences between virtual machines and containers, and the container lifecycle.
2. Tools in the Docker ecosystem such as Docker Engine, Docker CLI, Docker Hub, Docker Compose, and networking/volume commands.
3. Examples of using Docker Engine, Docker Hub for images, networking, volumes and deploying images to Azure PaaS.
4. How to use Docker Compose to define and run multi-container applications.
This document provides an overview of Docker concepts and tools for beginners. It covers:
1. The differences between virtual machines and containers, and the container lifecycle.
2. Tools in the Docker ecosystem such as Docker Engine, Docker CLI, Docker Hub, Docker Compose, and networking/volume commands.
3. Examples of using Docker Engine, Docker Hub for images, networking, volumes and deploying images to Azure PaaS.
4. How to use Docker Compose to define and run multi-container applications.
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.
Slides from my Docker workshop at PHPCon 2016. From a simple docker run command through own images and Dockerfiles to docker-compose setup supporting scalable app testing on local environment
This document summarizes a Docker workshop that covers the basics of Docker including:
- What Docker is and how it differs from virtual machines
- Installing Docker Desktop on Windows
- Running simple Docker containers like Redmine
- Creating a custom Docker image from a Dockerfile
- Binding a local folder to a container for development
- Common Docker commands
- Next steps like using Docker Compose and hosting one's own Docker registry
This document provides an overview of Docker and instructions for installing and using Docker. It discusses what Docker is, the main Docker tools, how to install Docker on different operating systems, and common Docker commands for pulling images, running containers, linking containers, building images with Dockerfiles, and more. The goal is to teach the reader how to containerize a web application using Docker.
This document provides an overview of Docker for web developers. It defines Docker as a platform for developing, shipping and running applications using container virtualization technology. It describes the main Docker products and tools. It provides examples of using Docker for various programming languages and frameworks like PHP, Java, Python, Node.js, Go, databases and content management systems like WordPress, Joomla and Drupal. The document also discusses Dockerfiles, Docker Compose, Docker commands and repositories.
Into to Docker (Central PA Java User Group - 8/14/2017)Mike Melusky
This document provides an introduction to Docker, including what Docker is, how it differs from virtual machines, basic Docker commands, examples of running common applications like GitLab and JIRA in Docker containers, and considerations for when to use and not use Docker. Docker allows containerized execution of isolated applications, sharing resources for lighter weight usage than virtual machines. Examples demonstrate pulling public images and running containers from them to execute applications like Python, GitLab and JIRA.
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...Puppet
Here are the slides from David Lutterkort's PuppetConf 2016 presentation called The Challenges with Container Configuration. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
Introducing containers into your infrastructure brings new capabilities, but also new challenges, in particular around configuration. This talk will take a look under the hood at some of those operational challenges including:
* The difference between runtime and build-time configuration, and the importance of relating the two together.
* Configuration drift, immutable mental models and mutable container file systems.
* Who configures the orchestrators?
* Emergent vs. model driven configuration.
In the process we will identify some common problems and talk about potential solutions.
Talk from PuppetConf 2016
Wordpress y Docker, de desarrollo a produccionSysdig
This document summarizes a presentation about using Docker for WordPress development and deployment. It discusses using Docker to create development environments for WordPress, building Docker images, and deploying WordPress containers to production using Docker Compose or Kubernetes. It also covers customizing configurations, using Traefik for proxy and SSL termination, backup strategies, and notes that Kubernetes is more complex than Docker for simple use cases.
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.
This document summarizes the key topics covered in Day 2 of a Docker and container technology introduction and hands-on course, including:
1) An overview of Docker Hub and how it relates to GitHub for automatically building images
2) Basic Git commands
3) Configuring automatic builds on Docker Hub by linking a GitHub repository
4) Docker network and volume commands, and exercises using these commands
5) Using Docker Compose to run multiple connected containers defined in a compose file
6) A demonstration of running TensorFlow using Docker
Similar to Docker - from development to production (PHPNW 2017-09-05) (20)
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Webinar: Designing a schema for a Data WarehouseFederico Razzoli
Are you new to data warehouses (DWH)? Do you need to check whether your data warehouse follows the best practices for a good design? In both cases, this webinar is for you.
A data warehouse is a central relational database that contains all measurements about a business or an organisation. This data comes from a variety of heterogeneous data sources, which includes databases of any type that back the applications used by the company, data files exported by some applications, or APIs provided by internal or external services.
But designing a data warehouse correctly is a hard task, which requires gathering information about the business processes that need to be analysed in the first place. These processes must be translated into so-called star schemas, which means, denormalised databases where each table represents a dimension or facts.
We will discuss these topics:
- How to gather information about a business;
- Understanding dictionaries and how to identify business entities;
- Dimensions and facts;
- Setting a table granularity;
- Types of facts;
- Types of dimensions;
- Snowflakes and how to avoid them;
- Expanding existing dimensions and facts.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Project Management Semester Long Project - Acuityjpupo2018
Acuity is an innovative learning app designed to transform the way you engage with knowledge. Powered by AI technology, Acuity takes complex topics and distills them into concise, interactive summaries that are easy to read & understand. Whether you're exploring the depths of quantum mechanics or seeking insight into historical events, Acuity provides the key information you need without the burden of lengthy texts.
3. Docker - From development to production
A BRIEF HISTORY OF ME
‣ PHP Developer since early 2000s
‣ Self-employed web developer since 2011
‣ Contracted for various companies
‣ Experienced problems of inconsistent development/
production environments
‣ Some server configuration knowledge
‣ Using Docker for 12+ months
4. ‣ What is Docker?
‣ Docker for development
‣ Basic commands
‣ Running & linking multiple
containers
‣ Customising images
‣ Gotchas
‣ Security considerations
WHAT I’LL COVER
6. Docker… it’s like virtual
machines, right?
Me, when I first discovered Docker
Docker - From development to production
7. Docker - From development to production
ADVANTAGES OF DOCKER OVER REGULAR VMS
▸ Smaller in size
▸ Don’t require a fully functional OS
▸ Can share read only file systems between containers
▸ Start up time
▸ Scalability
▸ Reduced resource requirements
▸ Can run 1000s of containers on a single host
▸ Reduced hardware requirements
9. Docker - From development to production
DOCKER FOR DEVELOPMENT
▸ Consistent environments
▸ (Almost) No more "works for me" problems
▸ Ease of setup*
▸ Easier upgrades
▸ Easier to develop and test distributed services
▸ Causes better designed architecture
* Unless you’re using Windows
10. Docker - From Development to Production
DOCKER FOR PRODUCTION
▸ Consistent environments
▸ (Almost) No more "works for me" problems
▸ Better resource management
▸ Scalability
▸ Faster spin-up times
11. It does solve a lot of
problems, if you are facing
them
@dennisdegreef
Docker - From development to production
13. // List images
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest d20ae45477cb 10 days ago 1.13MB
Docker - From development to production
CONTAINER IMAGES
// Pulling images
$ docker pull busybox
// Remove an image
$ docker rmi busybox
14. // Pulling and running
// If image is not found locally it will be pulled from registry
$ docker run --rm busybox:1.27.2 echo "Hello world"
Docker - From development to production
RUNNING CONTAINERS
// Locally stored containers
$ docker run --name my-busybox busybox:latest echo "Hello world"
// Automatically removing containers when they stop
$ docker run --rm busybox:latest echo "Hello world"
15. // Include stopped containers
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
636b77baa5c3 busybox "echo 'Hello world'" 1 second ago Exited (0) 4 seconds ago stoic_edison
fe68dac5f99c busybox "echo 'Hello world'" 3 seconds ago Exited (0) 5 seconds ago lucid_newton
171131c6a82d busybox "echo 'Hello world'" 4 seconds ago Exited (0) 8 seconds ago admiring_mirzakhani
8cbfcf2b2f32 nginx:latest "nginx -g 'daemon ..." 19 hours ago Up 19 hours 0.0.0.0:80->80/tcp, 443/tcp dockertalk_nginx_1
587849ab38e9 dockertalk_php "docker-php-entryp..." 19 hours ago Up 19 hours 9000/tcp dockertalk_php_1
1a8dbfc874a6 mysql:5.7 "docker-entrypoint..." 19 hours ago Up 19 hours 3306/tcp dockertalk_mysql_1
Docker - From development to production
VIEWING CONTAINERS
// Running containers
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8cbfcf2b2f32 nginx:latest "nginx -g 'daemon ..." 19 hours ago Up 19 hours 0.0.0.0:80->80/tcp, 443/tcp dockertalk_nginx_1
587849ab38e9 dockertalk_php "docker-php-entryp..." 19 hours ago Up 19 hours 9000/tcp dockertalk_php_1
1a8dbfc874a6 mysql:5.7 "docker-entrypoint..." 19 hours ago Up 19 hours 3306/tcp dockertalk_mysql_1
16. Docker - From development to production
CONTAINERS THAT WON'T QUIT
// Run continuous containers
$ docker run --name my-nginx nginx:latest
17. Docker - From development to production
CONTAINERS THAT WON'T QUIT
// Run continuous containers in the background
$ docker run --name my-nginx -d nginx:latest
$ docker ps --format
"table {{.ID}}t{{.Image}}t{{.Names}}t{{.Status}}"
18. Docker - From development to production
RUNNING SHELLS INSIDE CONTAINERS
// Interactive shell
$ docker run --rm -it --name my-busybox-shell
busybox:latest sh
Docker flags used here…
-t : Allocate a pseudo-tty
-i : Keep STDIN open even if not attached
19. // Run continuous container in the background
$ docker run --rm --name my-nginx -d nginx:latest
$ docker ps
Docker - From development to production
STOPPING AND REMOVING CONTAINERS
20. Docker - From development to production
STOPPING AND REMOVING CONTAINERS
// Stop a container
$ docker stop my-nginx
21. Docker - From development to production
STOPPING AND REMOVING CONTAINERS
// Run continuous container in the background
$ docker run --name my-nginx -d nginx:latest
$ docker ps
// Kill a container
$ docker kill my-nginx
22. // Removed stopped container
$ docker ps -a
$ docker rm my-nginx
$ docker ps -a
Docker - From development to production
STOPPING AND REMOVING CONTAINERS
24. FROM php:7.1-cl
VOLUME /var/www/html
# … or, using JSON notation, (so use double, not single quotes)…
VOLUME ["/var/www/html", "/var/log"]
WORKDIR /var/www/html
# Add content of files to /var/www/html
ADD ./files /var/www/html
# Add content of files to /var/www/html/files
ADD ./files /var/www/html/
# Add a remote download file
ADD http://example.com/foobar /var/www/html
# Add and decompress a LOCAL archive file
ADD ./files/archive.tar.gz /var/www/html
# Copy file without decompressing
COPY ./files/archive.tar.gz /var/www/html
Docker - From development to production
CONFIGURE USING DOCKERFILES
25. FROM php:7.1-cl
# ...
ARG DEPLOY_STAGE
ARG DEPLOY_ENV=test
ENV SYMFONY_ENV=dev
EXPOSE 9000
USER www-data
GROUP www-data
ONBUILD RUN composer install
LABEL multi.label1="value1"
Docker - From development to production
CONFIGURE USING DOCKERFILES
26. // Pass in build arguments to Dockerfile in the current
// directory
$ docker build
--build-arg MYSQL_ROOT_PASSWORD=my-secret-pw
.
Docker - From development to production
CONFIGURE DURING BUILD USING BUILD ARGUMENTS
27. // Pass in environment variables
$ docker run --rm --name my-mysql
-e MYSQL_ROOT_PASSWORD=my-secret-pw
-d mysql:5.7
Docker - From development to production
CONFIGURE AT RUNTIME USING ENVIRONMENT VARIABLES
// Pass in environment variables
$ docker run --rm --name my-mysql
--env-file /my/dirty/secrets
-d mysql:5.7
29. Docker - From development to production
USING VOLUMES
// Mapping volumes
$ docker run --rm busybox:latest ls -als /usr
$ docker run --rm -v "$PWD/files:/usr/files" busybox:latest ls -als /usr
$ docker run --rm -v "$PWD/files:/usr/files" busybox:latest ls -als /usr/files
30. Docker - From development to production
USING VOLUMES - OVERWRITING DIRECTORIES
// Overwriting directories
$ docker run --rm busybox:latest ls -als /usr
$ docker run --rm -v "$PWD/files:/usr" busybox:latest ls -als /usr
31. Docker - From development to production
USING VOLUMES - NAMED VOLUMES
// Named volumes
$ docker run --rm busybox:latest ls -als /usr
$ docker run --rm -v named_volume:/usr busybox:latest ls -als /usr
$ docker run --rm -v named_volume:/named busybox:latest ls -als /named
36. Docker - From development to production
LINKING CONTAINERS
$ docker run --rm --name my-nginx -d nginx:latest
$ docker ps --format "table {{.ID}}t{{.Image}}t{{.Names}}t{{.Status}}"
$ docker run --rm busybox ping my-nginx
37. Docker - From development to production
LINKING CONTAINERS
$ docker network create phpnw
$ docker inspect -f "{{json .Containers}}" phpnw | jq
$ docker network connect phpnw my-nginx
$ docker inspect -f "{{json .Containers}}" phpnw | jq
38. Docker - From development to production
LINKING CONTAINERS
// Ping container from another
$ docker run --rm --network phpnw busybox
ping -c 4 my-nginx
40. // Demo sleep container
$ docker run --rm --name dont-restart-me -d busybox sleep 3
$ docker ps -a --format "table {{.ID}}t{{.Image}}t{{.Names}}t{{.Status}}"
// Always restart container
$ docker run --name restart-me -d --restart=always busybox sleep 3
$ docker ps -a --format "table {{.ID}}t{{.Image}}t{{.Names}}t{{.Status}}"
Docker - From development to production
KEEPING CONTAINERS RUNNING
41. Docker - From development to production
KEEPING CONTAINERS RUNNING - INSPECTING DETAILS
// Viewing the restart count
$ docker inspect -f "{{ .RestartCount }}" restart-me
$ docker inspect -f "{{ .State.StartedAt }}" restart-me
// Stop & remove container
$ docker stop restart-me
$ docker rm restart-me
$ docker ps -a --format "table {{.ID}}t{{.Image}}t{{.Names}}t{{.Status}}"
42. Docker - From development to production
RESTART OPTIONS
Restart options…
no : (Default) Do not restart container when it
exits.
on-failure[:max-retries] : Restart only if the container
exits with a non-zero exit status.
Optionally, limit the number of restart
retries the Docker daemon attempts.
always : Always restart the container regardless of
the exit status.
Daemon will try to restart the container
indefinitely.
Will also always start on daemon startup.
unless-stopped : Always restart the container regardless of
the exit status, but do not start it on
daemon startup if the container has been
put to a stopped state before.
44. Docker - From development to production
ACCESSING CONTAINERS FROM THE OUTSIDE WORLD
// Launch container
$ docker run --rm --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7
$ docker ps --format "table {{.ID}}t{{.Image}}t{{.Status}}t{{.Ports}}"
$ docker stop my-mysql
45. Docker - From development to production
ACCESSING CONTAINERS FROM THE OUTSIDE WORLD
$ docker run --rm --name my-mysql --env-file /my/dirty/secrets -d -P mysql:5.7
$ docker ps --format "table {{.ID}}t{{.Image}}t{{.Status}}t{{.Ports}}"
$ docker run --rm --name my-mysql2 --env-file /my/dirty/secrets -d -p 80:80 mysql:5.7
$ docker ps --format "table {{.ID}}t{{.Image}}t{{.Status}}t{{.Ports}}"
46. Docker - From development to production
NETWORK OPTIONS
The following flags are available for controlling network settings for containers…
--dns=[] : Set custom DNS servers for the container
--network="bridge" : Connect a container to a network
Options
- 'bridge' : create a network stack on the default Docker
bridge
- 'none' : no networking
- 'container:<name|id>' : reuse another container's network
stack
- 'host' : use the Docker host network stack
- '<network-name>|<network-id>': connect to a user-defined
network
--network-alias=[] : Add network-scoped alias for the container
--add-host="" : Add a line to /etc/hosts (host:IP)
--mac-address="" : Sets the container's Ethernet device's MAC address
--ip="" : Sets the container's Ethernet device's IPv4 address
--ip6="" : Sets the container's Ethernet device's IPv6 address
--link-local-ip=[] : Sets one or more container's Ethernet device's
link local IPv4/IPv6 addresses
47. Docker - From development to production
RESOURCES OPTIONS
The following flags are available for controlling resource usage…
-m, --memory="" : Memory limit (format: <number>[<unit>]). Number is a positive integer. Unit can be
one of
b, k, m, or g. Minimum is 4M.
--memory-swap="" : Total memory limit (memory + swap, format: <number>[<unit>]). Number is a positive
integer. Unit can be one of b, k, m, or g.
--memory-reservation="" : Memory soft limit (format: <number>[<unit>]). Number is a positive integer. Unit can
be
one of b, k, m, or g.
--kernel-memory="" : Kernel memory limit (format: <number>[<unit>]). Number is a positive integer. Unit
can be
one of b, k, m, or g. Minimum is 4M.
-c, --cpu-shares=0 : CPU shares (relative weight)
--cpus=0.000 : Number of CPUs. Number is a fractional number. 0.000 means no limit.
--cpu-period=0 : Limit the CPU CFS (Completely Fair Scheduler) period
--cpuset-cpus="" : CPUs in which to allow execution (0-3, 0,1)
--cpuset-mems="" : Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA
systems.
--cpu-quota=0 : Limit the CPU CFS (Completely Fair Scheduler) quota
--cpu-rt-period=0 : Limit the CPU real-time period. In microseconds. Requires parent cgroups be set and
cannot be higher than parent. Also check rtprio ulimits.
--cpu-rt-runtime=0 : Limit the CPU real-time runtime. In microseconds. Requires parent cgroups be set and
cannot be higher than parent. Also check rtprio ulimits.
--blkio-weight=0 : Block IO weight (relative weight) accepts a weight value between 10 and 1000.
… [and more options]
50. Docker - From development to production
HELLO WORLD
// hello-world.go
package main
import "fmt"
func main() {
fmt.Printf(
"Hello, PHP North Westn”
)
}
$ docker run --rm
-v "$PWD/files":/go
golang go run hello-world.go
51. Docker - From development to production
HELLO WORLD
// hello-world.go
package main
import "fmt"
func main() {
fmt.Printf(
"Hello, PHP North Westn”
)
}
$ docker run --rm
-v "$PWD/files":/go
-e GOOS=darwin
golang go build hello-world.go
$ ./files/hello-world
53. Docker - From development to production
AN NGINX WEB SERVER
// Expose container ports on defined host ports
$ docker run --rm --name my-nginx -d -p 80:80 nginx
$ docker ps
54. Docker - From development to production
AN NGINX WEB SERVER - WITH FILES
// Expose container ports on defined
// host ports
$ docker run --rm --name my-nginx
-v "$PWD/files":/usr/share/nginx/html:ro
-p 80:80
-d
nginx
$ docker ps
<!-- ./files/index.html -->
<!doctype html>
<html lang="en">
<head>
<title>Hello, PHP North West!</title>
</head>
<body>
<h1>Hello, PHP North West!</h1>
</body>
</html>
62. FROM php:7.1-apache
RUN apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev
libmcrypt-dev libpng12-dev
RUN docker-php-ext-install -j$(nproc) iconv mcrypt
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/
--with-jpeg-dir=/usr/include/
RUN docker-php-ext-install -j$(nproc) gd
RUN docker-php-source delete
FROM php:7.1-apache
RUN apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev
libmcrypt-dev libpng12-dev
&& docker-php-ext-install -j$(nproc) iconv mcrypt
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/
--with-jpeg-dir=/usr/include/
&& docker-php-ext-install -j$(nproc) gd
&& docker-php-source delete
Docker - From development to production
DOCKERFILES - A NOTE ABOUT IMAGE SIZES
VS
63. FROM php:7.1-apache
RUN apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev
libmcrypt-dev libpng12-dev
RUN docker-php-ext-install -j$(nproc) iconv mcrypt
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/
--with-jpeg-dir=/usr/include/
RUN docker-php-ext-install -j$(nproc) gd
RUN docker-php-source delete
Docker - From development to production
DOCKERFILES - A NOTE ABOUT IMAGE SIZES
5 x RUN commands = 5 x image layers
64. FROM php:7.1-apache
RUN apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev
libmcrypt-dev libpng12-dev
&& docker-php-ext-install -j$(nproc) iconv mcrypt
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/
--with-jpeg-dir=/usr/include/
&& docker-php-ext-install -j$(nproc) gd
&& docker-php-source delete
Docker - From development to production
DOCKERFILES - A NOTE ABOUT IMAGE SIZES
1 x RUN commands = 1 x image layers
66. Docker - From development to production
FILESYSTEM LIMITATIONS
‣ File name length limit
‣ Limit of 242 characters (rather than 255)
‣ Symfony/Doctrine cache files
‣ Prepare cache inside the container
67. Docker - From development to production
FILESYSTEM LIMITATIONS
‣ Docker for Mac
‣ Performance issues
‣ Use :cached or :delegated suffix on volume
declarations, to allow delayed updates…
$ docker run -v "$PWD:/home:cached" php:7.1-cli
$ docker run -v "$PWD:/home:delegated" php:7.1-cli
68. Docker - From development to production
FILESYSTEM LIMITATIONS
‣ File permissions on volumes differ between hosts types
‣ On Docker for Mac the permissions are kept to those of
the running user
‣ On Docker for Linux the permissions on the host match
the user:group IDs set within the container
‣ Window???
70. Docker - From development to production
SECURITY CONSIDERATIONS
‣ Kernel exploits
‣ Kernel panics within container will bring down the host machine
‣ Denial of Service
‣ Containers can hog host resources
‣ Image trustworthiness
‣ Secrets
‣ Confidential information can be stored into Docker images (e.g. in
--build-args), if not careful
71. Docker - From development to production
SECURITY CONSIDERATIONS
‣ Patching core packages
‣ Run system updates within container?
‣ Update packages on image build, and re-build regularly
‣ Container breakout
‣ User permissions in the container = user permissions
outside
‣ Namespace users (see http://dockr.ly/2wEfy2g)