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.
- The document introduces Docker, explaining that it provides standardization for packaging software applications and dependencies to make them portable and help transition from monolithic to microservices architectures.
- Docker uses operating system-level virtualization rather than hardware virtualization, allowing containers to start quickly while remaining isolated and using fewer resources than virtual machines.
- The document covers Docker concepts like images, containers, and registries, and provides examples of common Docker commands for pulling images, running containers, and managing the Docker workflow of building, shipping, and running applications.
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Valeriy Kravchuk
?
Bpftrace is a relatively new eBPF-based open source tracer for modern Linux versions (kernels 5.x.y) that is useful for analyzing production performance problems and troubleshooting software. Basic usage of the tool, as well as bpftrace one liners and advanced scripts useful for MariaDB DBAs are presented. Problems of MariaDB Server dynamic tracing with bpftrace and some possible solutions and alternative tracing tools are discussed.
Ember.js is a JavaScript MVC framework for building single-page web applications. It uses conventions over configurations and includes features like two-way data binding, routing and templates using Handlebars. Key concepts in Ember include models, routes, controllers and templates which work together in a defined workflow. Templates are used to display dynamic data from models and controllers handle updating the view. Routing in Ember maps URLs to routes and controllers. Ember Data provides a standard way to handle data persistence and normalization of models.
The document discusses the architecture of Docker, including its core components like Docker Engine, Docker Hub, Docker Machine, Docker Compose, Kitematic, Docker Swarm, and Docker Registry. Docker Engine runs on Linux to build and run containers. Docker Hub is a hosted registry service for managing images. Docker Machine sets up Docker Engine on computers and in data centers. Docker Compose defines multi-container applications in a single file. Kitematic provides a GUI for building and running containers. Docker Swarm turns Docker engines into a clustered virtual engine. Docker Registry stores and distributes Docker images.
Short Introduction to Docker. These slides show the basic idea behind the container technology Docker. The slides present the basic features for the daily use with Docker, Docker Compose, Docker Machine and Docker Swarm.
Docker is specially important for DevOps, because it gives Software Developers more control about their dependencies in different environments.
Conan.io - The C/C++ package manager for DevelopersUilian Ries
?
Conan is a decentralized package manager for C and C++ that handles both source code and pre-compiled binaries. It addresses issues with building dependencies from source by allowing developers to define packages through recipes that specify dependencies and build instructions. Conan packages are cached locally and identified by name, version, and user/channel to allow isolation of builds. The Conan community contributes package recipes through open source projects on GitHub like the Conan Center and Bincrafters organization.
Docker allows you to package applications with their dependencies into standardized units called containers that can run on any Linux server. Containers are more portable and efficient than virtual machines, starting in milliseconds and using less disk space. Docker makes it easy to deploy and run applications without having to rebuild environments and guarantees that an application will run the same regardless of the infrastructure it is running on.
狠狠撸s of our CoNEXT'19 presentation of "RSS++: load and state-aware receive side scaling", a technique to insure a good load-balancing among multiple cores of a server for networking application.
Docker is an open source containerization platform that allows applications to be easily deployed and run across various operating systems and cloud environments. It allows applications and their dependencies to be packaged into standardized executable units called containers that can be run anywhere. Containers are more portable and provide better isolation than virtual machines, making them useful for microservices architecture, continuous integration/deployment, and cloud-native applications.
Arm device tree and linux device driversHoucheng Lin
?
This document discusses how the Linux kernel supports different ARM boards using a common source code base. It describes how device tree is used to describe hardware in a board-agnostic way. The kernel initializes machine-specific code via the device tree and initializes drivers by matching compatible strings. This allows a single kernel binary to support multiple boards by abstracting low-level hardware details into the device tree rather than the kernel source. The document also contrasts the ARM approach to the x86 approach, where BIOS abstraction and standardized buses allow one kernel to support most x86 hardware.
Docker networking allows containers to communicate in several ways. Containers can communicate using Docker's default bridge (Docker0), by binding container ports to the host's ports, or using the host's network stack directly. More advanced options include linking containers to share information, using overlay networks with technologies like Open vSwitch, or running containers across multiple hosts with tunnels. The document provides examples of setting up different Docker networking configurations and discusses which methods suit different communication requirements between containers, hosts, and external networks.
Since the release of 17.05, Docker has introduced Multi-Stage Build for Docker Images for anyone who has struggled to optimize Dockerfiles while keeping them easy to read and maintain. This builder pattern will help anyone who would just like to have the runtime, configuration & application and doesn’t want to have compilers, debuggers, code, build, test logs etc.
This document provides an overview of Docker containers and related concepts across 7 sections: 1) Introduction to Docker, 2) Managing Docker containers, 3) Container inputs/outputs, 4) Managing Docker images, 5) Building Docker images, 6) Security considerations for Docker, and 7) The Docker ecosystem and future. It includes descriptions of common Docker commands for running, stopping, and managing containers.
Rootless Containers & Unresolved issuesAkihiro Suda
?
Rootless containers allow users to run containers without root privileges by leveraging user and namespace isolation techniques. While rootless containers mitigate some security risks, there are still unresolved issues around sub-user management, networking, and adoption by runtimes and image builders. Rootless containers also cannot prevent all attacks if a container is broken out of. Container runtimes are working to improve support for rootless containers to further enhance security.
This document discusses debugging the ACPI subsystem in the Linux kernel. It provides an overview of the ACPI subsystem and components like ACPICA and the namespace. It describes how to enable ACPI debug logging via the acpi.debug_layer and acpi.debug_level kernel parameters. It also covers overriding ACPI definition blocks tables and tracing ACPI temperature as a debugging case study.
The document discusses the architecture of Docker, including its core components like Docker Engine, Docker Hub, Docker Machine, Docker Compose, Kitematic, Docker Swarm, and Docker Registry. Docker Engine runs on Linux to build and run containers. Docker Hub is a hosted registry service for managing images. Docker Machine sets up Docker Engine on computers and in data centers. Docker Compose defines multi-container applications in a single file. Kitematic provides a GUI for building and running containers. Docker Swarm turns Docker engines into a clustered virtual engine. Docker Registry stores and distributes Docker images.
Short Introduction to Docker. These slides show the basic idea behind the container technology Docker. The slides present the basic features for the daily use with Docker, Docker Compose, Docker Machine and Docker Swarm.
Docker is specially important for DevOps, because it gives Software Developers more control about their dependencies in different environments.
Conan.io - The C/C++ package manager for DevelopersUilian Ries
?
Conan is a decentralized package manager for C and C++ that handles both source code and pre-compiled binaries. It addresses issues with building dependencies from source by allowing developers to define packages through recipes that specify dependencies and build instructions. Conan packages are cached locally and identified by name, version, and user/channel to allow isolation of builds. The Conan community contributes package recipes through open source projects on GitHub like the Conan Center and Bincrafters organization.
Docker allows you to package applications with their dependencies into standardized units called containers that can run on any Linux server. Containers are more portable and efficient than virtual machines, starting in milliseconds and using less disk space. Docker makes it easy to deploy and run applications without having to rebuild environments and guarantees that an application will run the same regardless of the infrastructure it is running on.
狠狠撸s of our CoNEXT'19 presentation of "RSS++: load and state-aware receive side scaling", a technique to insure a good load-balancing among multiple cores of a server for networking application.
Docker is an open source containerization platform that allows applications to be easily deployed and run across various operating systems and cloud environments. It allows applications and their dependencies to be packaged into standardized executable units called containers that can be run anywhere. Containers are more portable and provide better isolation than virtual machines, making them useful for microservices architecture, continuous integration/deployment, and cloud-native applications.
Arm device tree and linux device driversHoucheng Lin
?
This document discusses how the Linux kernel supports different ARM boards using a common source code base. It describes how device tree is used to describe hardware in a board-agnostic way. The kernel initializes machine-specific code via the device tree and initializes drivers by matching compatible strings. This allows a single kernel binary to support multiple boards by abstracting low-level hardware details into the device tree rather than the kernel source. The document also contrasts the ARM approach to the x86 approach, where BIOS abstraction and standardized buses allow one kernel to support most x86 hardware.
Docker networking allows containers to communicate in several ways. Containers can communicate using Docker's default bridge (Docker0), by binding container ports to the host's ports, or using the host's network stack directly. More advanced options include linking containers to share information, using overlay networks with technologies like Open vSwitch, or running containers across multiple hosts with tunnels. The document provides examples of setting up different Docker networking configurations and discusses which methods suit different communication requirements between containers, hosts, and external networks.
Since the release of 17.05, Docker has introduced Multi-Stage Build for Docker Images for anyone who has struggled to optimize Dockerfiles while keeping them easy to read and maintain. This builder pattern will help anyone who would just like to have the runtime, configuration & application and doesn’t want to have compilers, debuggers, code, build, test logs etc.
This document provides an overview of Docker containers and related concepts across 7 sections: 1) Introduction to Docker, 2) Managing Docker containers, 3) Container inputs/outputs, 4) Managing Docker images, 5) Building Docker images, 6) Security considerations for Docker, and 7) The Docker ecosystem and future. It includes descriptions of common Docker commands for running, stopping, and managing containers.
Rootless Containers & Unresolved issuesAkihiro Suda
?
Rootless containers allow users to run containers without root privileges by leveraging user and namespace isolation techniques. While rootless containers mitigate some security risks, there are still unresolved issues around sub-user management, networking, and adoption by runtimes and image builders. Rootless containers also cannot prevent all attacks if a container is broken out of. Container runtimes are working to improve support for rootless containers to further enhance security.
This document discusses debugging the ACPI subsystem in the Linux kernel. It provides an overview of the ACPI subsystem and components like ACPICA and the namespace. It describes how to enable ACPI debug logging via the acpi.debug_layer and acpi.debug_level kernel parameters. It also covers overriding ACPI definition blocks tables and tracing ACPI temperature as a debugging case study.
This document discusses Bluetooth Low Energy (BLE) and its growing importance for wearable devices and the Internet of Things. It provides an overview of BLE specifications and roles, how devices communicate using advertising and connections, and how to implement BLE on Android. Examples of real-world BLE applications are given, including smart locks, beacons, smart plugs, and baby monitors. Code examples are also provided for scanning, connecting to, and reading data from BLE devices using Android APIs.
Responsive Web Design 帶來了網頁技術的革新,僅僅透過 Media Queries 偵測螢幕尺寸,便能提供適合不同尺寸裝置的內容與樣式。
但光是從螢幕尺寸來偵測行動裝置的瀏覽能力,無疑是瞎子摸象。近兩年內的智慧型手機已經數度提高尺寸與解析度,行動網頁的媒體品質與豐富性也須一併提升。在內容品質提升的同時,過多的圖片或物件可能會降低使用者經驗或付出較高的代價。
從技術角度來看,可歸納『資源一致性』、『相容彈性』、『環境適應』、『品質最佳化』等四個要素。本題將就此四項要素介紹應用實例,說明如何提高 Responsive Web 的彈性,並增加行動網頁瀏覽效率。
This document proposes methods for analyzing manga styles using image and text features. It extracts panel, screentone, character, and line features from manga pages. Latent Dirichlet Allocation is used to build a latent style model that represents manga as mixtures of latent style elements. The features and model are used to distinguish manga styles, retrieve artworks by the same artist or movement, and find artworks from the same period. Evaluation shows the panel, screentone, and line features effectively capture differences between manga styles.
An introductory to Unity3D engine for programmers who are already familiar with SDL, D3D, OpenGL, Ogre.. or so.
http://blog.igdshare.org
http://www.youtube.com/user/igdshare
This document discusses the need for a holistic platform to enable planning, assembly, and optimization across integrated circuit (IC), package, and printed circuit board (PCB) domains. Traditional "over the wall" design approaches are no longer sufficient due to increasing complexity. The document outlines capabilities of a next-generation co-design platform, including virtual die modeling, single-view connectivity management, and rule-based pin optimization, to improve design quality and reduce costs.
This document summarizes a study that estimated the smoking-attributable expenditures (SAEs) for people aged 35 or older in Taiwan in 2000 from the perspective of health insurers. The total SAE was estimated to be US$467.3 million, representing 8.5% of total medical expenditures for that population. Kidney disease, ischemic heart disease, and accidents accounted for the highest SAE costs. The study is an improvement over previous work as it used relative risk data from large cohort studies and health insurance claims data to estimate disease-specific expenditures. However, it did not account for costs of passive smoking or non-insurance expenditures.
This document discusses Node.js, continuous integration, continuous delivery, and Jenkins pipelines. It provides code examples for setting up a Node.js project with Sequelize, Mocha testing, and a Makefile for building, packaging, and deploying the project. It also shows a Jenkinsfile for integrating the project with Jenkins for continuous integration and delivery to production.
This document outlines an introduction to test-driven development (TDD) including why it is needed, how to start, and common practices. It discusses using TDD for programming, DevOps, and as a team leader/member. It provides an example of setting up a Node.js project with Mocha and Supertest for TDD including creating tests, mocking, and integrating with continuous integration/delivery pipelines. The document recommends TDD practices from Clean Code and includes additional resources on TDD testimonials.
This document discusses DevOps test-driven development (TDD). It introduces DevOps and TDD concepts and practices. It provides an example of using a Node.js test framework and API testing to implement TDD for a login feature. The document emphasizes that TDD is about designing better code through testing rather than just writing tests. It also discusses using continuous integration/delivery (CI/CD) pipelines to automatically run tests on code changes.
This document discusses using Docker to run Geb tests with real browsers. It provides instructions on installing Docker images, configuring Geb to use a Dockerized browser via RemoteWebDriver, and running Gradle tests within a Docker container to test a web application using the Dockerized browser. Viewing the browser session within Docker is also demonstrated using VNC. Migrating CI/testing to use Dockerized browsers is mentioned as a way to ensure tests use real browsers.
This document outlines an introduction to test-driven development (TDD) using Node.js. It discusses using Mocha as a test framework, Supertest for APIs, and Should/Chai for assertions. It provides an example of writing a test for a login endpoint, including setting up a test user, making a POST request, and asserting the response is successful. The document recommends using Sinon for mocking sources. It emphasizes TDD principles like writing tests before code, and continuous integration/delivery.
This document discusses Test Driven Development (TDD) practices and tools. It introduces Yeoman for quickly generating initial project templates, NPM for package and module management, Travis CI for continuous integration and automated testing, and Bower for front-end package management. It also provides examples of using TDD with the LoopBack framework and links to sample projects on GitHub. The document encourages readers to start coding and applying these TDD techniques.
This document introduces Sails.js models and ORM. It discusses upgrading to Sails 0.10 beta, creating database tables using ORM, model associations like one-to-many, and calling models from controllers. Examples are provided for defining models, associations, controller actions, and sample model code.
28. readable
FROM smlsunxie/rudy-node:latest sails framework
RUN gem install compass
RUN gem install bootstrap-sass
RUN npm install -g grunt-cli
RUN npm install -g bower
RUN npm install -g coffee-script
RUN npm install -g sails
ruby and nodejs
ubuntu 14.04