slideshow: https://www.slideshare.net/ssuser9b325a/docker-101-144718472
This is an introduction to docker in Vietnamese language
In this document
- Introduction to docker
- Docker network
- Demo scenario
Slide show:
https://www.slideshare.net/ssuser9b325a/docker-101-144718472
Slide trình bày một cách đơn giản nhất kiến thức nhập môn, tạo ra chương trình lập trình giao diện đầu tiên bằng PySide cho những người đã có kiến thức nhất định về Python.
Trang cá nhân của tác giả có thay đổi về địa chỉ:
https://chiencg.wordpress.com/
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm ModeDocker-Hanoi
This document summarizes a presentation about Docker 1.12 and Swarm mode. It discusses what's new in Docker 1.12, why Swarm mode is useful for orchestrating Docker, and lessons learned about topics like devicemapper, private registries, volumes, resources, logging, load balancing, deployment, monitoring and drawbacks of Swarm mode. The presentation also included an agenda and time for Q&A.
ContainerDayVietnam2016: Become a Cloud-native DeveloperDocker-Hanoi
Container design patterns are emerging as microservices and containerization become more popular. Single-container patterns like container boundary and interface define how containers are packaged and interact. Single-node patterns like Kubernetes pods and sidecars schedule related containers together on one machine. Multi-node patterns coordinate distributed containers, such as using leader election sidecars to select a replication leader, work queues to distribute tasks, and scatter/gather to parallelize computations across nodes. These patterns abstract away infrastructure details and provide reusable solutions for containerized applications.
More Related Content
Similar to DockerDay2015: Introduction to Dockerfile
slideshow: https://www.slideshare.net/ssuser9b325a/docker-101-144718472
This is an introduction to docker in Vietnamese language
In this document
- Introduction to docker
- Docker network
- Demo scenario
Slide show:
https://www.slideshare.net/ssuser9b325a/docker-101-144718472
Slide trình bày một cách đơn giản nhất kiến thức nhập môn, tạo ra chương trình lập trình giao diện đầu tiên bằng PySide cho những người đã có kiến thức nhất định về Python.
Trang cá nhân của tác giả có thay đổi về địa chỉ:
https://chiencg.wordpress.com/
ContainerDayVietnam2016: Lesson Leanred on Docker 1.12 and Swarm ModeDocker-Hanoi
This document summarizes a presentation about Docker 1.12 and Swarm mode. It discusses what's new in Docker 1.12, why Swarm mode is useful for orchestrating Docker, and lessons learned about topics like devicemapper, private registries, volumes, resources, logging, load balancing, deployment, monitoring and drawbacks of Swarm mode. The presentation also included an agenda and time for Q&A.
ContainerDayVietnam2016: Become a Cloud-native DeveloperDocker-Hanoi
Container design patterns are emerging as microservices and containerization become more popular. Single-container patterns like container boundary and interface define how containers are packaged and interact. Single-node patterns like Kubernetes pods and sidecars schedule related containers together on one machine. Multi-node patterns coordinate distributed containers, such as using leader election sidecars to select a replication leader, work queues to distribute tasks, and scatter/gather to parallelize computations across nodes. These patterns abstract away infrastructure details and provide reusable solutions for containerized applications.
Kubernetes is an open-source platform for automating deployment, scaling, and operations of containerized applications. It provides basic mechanisms such as service discovery, load balancing, failure recovery, horizontal scaling, and self-healing. Key Kubernetes concepts include pods, labels, replication controllers, services, and namespaces. Pods are the basic building blocks that can contain one or more containers, which are scheduled together on nodes and share resources. Kubernetes handles tasks such as health checking, restarting containers, and load balancing.
ContainerDayVietnam2016: Docker for JS DeveloperDocker-Hanoi
This document provides instructions for setting up a microservices architecture using Node.js, AngularJS, MongoDB, and Docker. It describes building API and CMS services using Express and Angular, respectively. It also covers orchestrating the services using Docker Compose and routing them through an Nginx gateway. Finally, it demonstrates deploying the system locally using Vagrant.
ContainerDayVietnam2016: Containers with OpenStackDocker-Hanoi
This document discusses integrating containers with OpenStack. It outlines some of the good aspects, bad aspects, and an ugly thought around this integration. On the good side, projects like Magnum, Zun, Kuryr, Kolla, and Fuxi aim to provide container orchestration, management, networking, and storage capabilities within OpenStack. However, integrating containers poses challenges as well. The ecosystem has diverse standards for clouds and containers, making integration complex with two layers of management. This can impact user quotas, charging, and other considerations.
ContainerDayVietnam2016: Django Development with DockerDocker-Hanoi
Cuong Tran presented on Django development with Docker. The presentation covered:
1. Introduction to the Django Docker stack including Nginx, Django, Postgres, and Redis.
2. How to run the Django stack using Docker Compose including building, starting containers, and migrating data.
3. Common activities like running commands in containers, updating code in Git, and rebuilding Docker images.
4. Problems and solutions like handling Docker stop signals gracefully, ensuring proper startup order, and optimizing the Docker build process.
5. Useful Docker snippets for stats, removing containers/images, and saving/loading images.
ContainerDayVietnam2016: Docker at scale with MesosDocker-Hanoi
Mesos is an open source cluster manager that provides efficient resource isolation and sharing across distributed applications or frameworks. The document discusses how to run Docker containers on Mesos at scale, including using Marathon for container orchestration. Some key lessons learned are around choosing a container style, service discovery with Mesos-DNS, networking with Calico, and managing secrets, deployments, and Docker limitations.
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
This document discusses how Docker can transform development and deployment processes for modern applications. It outlines some of the challenges of developing and deploying applications across different environments, and how Docker addresses these challenges through containerization. The document then provides examples of how to dockerize a Rails and Python application, set up an Nginx reverse proxy with Let's Encrypt, and configure a Docker cluster for continuous integration testing.
ContainerDayVietnam2016: Hybrid and Automation System ArchitectureDocker-Hanoi
This document discusses using a hybrid automation system architecture with Docker and Kubernetes on AWS. It proposes using Gitlab CI/CD for continuous integration and delivery of Rails applications packaged with Docker. The workflow would involve developers committing code changes to Gitlab, triggering automated testing, building of Docker images, and deployment to Kubernetes. Auto-scaling and auto-healing capabilities would be enabled through Kubernetes and AWS. The goals are to make operations easier through automation while also simplifying development workflows.
1. This document discusses Microsoft and Docker, including how to deploy Docker containers on Azure. It provides an overview of Azure and Microsoft's support for open source software.
2. Methods for deploying Docker containers on Azure include using a Docker VM extension template, Docker Machine with the Azure driver, and Azure Container Service.
3. The document also covers upcoming integrations between Docker and Windows, such as Windows Server containers, Hyper-V containers, and the Docker beta for Windows developers.
This document summarizes the Docker-Hanoi meetup group's activities in 2015 and plans for 2016. In 2015, the group held 12 meetups covering topics like CI/CD with Docker and Mesos, DockerCon recap, introduction to Kubernetes and Amazon ECS, and Docker 1.9 release. They collaborated on projects like a Global Hack Day and have over 40 members. For 2016, they are seeking sponsors and want to connect with other Vietnam open source communities, contribute more globally to Docker events and code, and showcase real-world Docker production uses.
DockerDay2015: Introduction to OpenStack MagnumDocker-Hanoi
This document introduces OpenStack Magnum, a project that provides container orchestration services for OpenStack. It discusses the Vietnam OpenStack community and provides an introduction to OpenStack and Docker. Magnum is presented as a solution for integrating OpenStack with Docker container technologies by providing container cluster resources and orchestration capabilities within OpenStack. The document concludes with an advertisement for a Magnum demonstration at the upcoming Vancouver Summit.
This document summarizes a keynote about Docker's goals of making hardware programmable through containers and open standards. The keynote discusses Docker's goals of reinventing the programmer's toolbox by solving problems like runtime, packaging, composition and networking incrementally. It also discusses building better infrastructure plumbing and promoting open standards through projects like runC, Notary, the Open Container Project and more. The goal is to help organizations solve problems in unique ways through an open developer platform and standards.
DockerDay2015: Deploy Apps on IBM BluemixDocker-Hanoi
Tom Tran gave a presentation on IBM Bluemix at DockerDay Vietnam 2015. He discussed:
1) What Bluemix is and its core concepts including accounts, organizations, spaces, apps, and services.
2) The different deployment options for Bluemix including public, dedicated, and local environments.
3) The development tools available for building and deploying apps to Bluemix like the web IDE, Eclipse, Visual Studio, and command line.
This document summarizes a presentation on Docker security and least-privilege microservices from DockerCon US 2015. It discusses the history and principles of least-privilege, how Docker supports fine-grained access controls for containers through features like namespaces, capabilities, and security profiles. It also covers making containers more secure by default and tools like Docker Bench for assessing container security. The conclusion is that Docker allows least-privilege microservices and better tools are still needed to define per-container security profiles.
DockerDay2015: Docker orchestration for developersDocker-Hanoi
This document discusses Docker Machine and Docker Compose. Docker Machine allows provisioning and management of Docker hosts on various cloud providers and virtual machines. Docker Compose allows defining and running multi-container Docker applications using a compose file. The document outlines new features of Docker Machine 0.3.0 like generic drivers and swarm provisioning. It also summarizes new features of Docker Compose 1.3.0 like performance improvements and smart recreate. Live demos of both tools are included in the agenda.
This document summarizes a presentation on Docker networking. It introduces Docker networking concepts like the Docker0 bridge, virtual ethernet interfaces, linking containers, and editing networking configuration files. It then provides a deep dive on experimental Docker networking features in libnetwork like creating networks, multi-host networking, services, and drivers. The presentation encourages users to try experimental networking and contribute to libnetwork.
DockerDay2015: Docker orchestration for sysadminDocker-Hanoi
1) The document discusses Docker Swarm and Docker Machine, which are tools for orchestrating and provisioning Docker containers across multiple hosts.
2) Docker Swarm exposes multiple Docker engines as a single virtual engine and includes fault tolerance features like leader election and replication of the swarm manager.
3) Docker Machine can provision VMs on various platforms and install and manage Docker Engine, enabling easy deployment and management of Docker clusters.
DockerDay2015: Getting started with Google Container EngineDocker-Hanoi
This document introduces Google Container Engine and Kubernetes for container orchestration. It discusses how containers provide isolation and portability compared to traditional virtual machines. Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. It allows grouping containers into pods and uses labels to identify pods. Services provide discovery and load balancing for pods. Replication controllers help maintain the desired number of pods. Kubernetes handles scheduling pods across a cluster and replacing pods when needed through this type of declarative management.
DockerDay2015: Getting started with DockerDocker-Hanoi
Docker is a tool that allows users to package applications into containers that can run on any Linux server. The key concepts include images which contain the files for an app and its dependencies, containers which are instances of images that run the app, and a Dockerfile which defines what goes into an image. Docker provides lightweight virtualization, portability across environments, and the ability to build distributed apps out of separate services. The meetup will cover Docker terminology, how to interact with Docker via its API and CLI, and include a hands-on lab.
1. Trần Hữu Cường (OLBIUS Vietnam) Introduction to Dockerfile Hà Nội, 19/07/2015 1 / 9
2. Content
1 What is Dockerfile?
2 Dockerfile: Step by Step
3 Experience
Trần Hữu Cường (OLBIUS Vietnam) Introduction to Dockerfile Hà Nội, 19/07/2015 2 / 9
3. What is Dockerfile?
• A Dockerfile is a text document that contains all the commands
you would normally execute manually in order to build a Docker
image.
• Docker can build images automatically by reading the instructions
from a Dockerfile.
• Dockerfile = Image Representations.
Trần Hữu Cường (OLBIUS Vietnam) Introduction to Dockerfile Hà Nội, 19/07/2015 3 / 9
4. Dockerfile: Step by Step
1 v1: Basic command FROM, RUN, CMD
2 v2: Command COPY and EXPOSE
3 v3: Command VOLUME
4 v4: Final Dockerfile
Github: https://github.com/tranhuucuong91/tutorial-dockerfile.git
Trần Hữu Cường (OLBIUS Vietnam) Introduction to Dockerfile Hà Nội, 19/07/2015 4 / 9
5. Experience: Caching everywhere
• Caching software packages and third-party source code.
• Dockerfile: có 1 phiên bản cho lab và 1 phiên cho product. Với phiên
bản cho lab, tối thiểu hóa “thời gian phải chờ”. Ví dụ: thời gian phải
chờ khi thực hiện update repo: apt-get update
Trần Hữu Cường (OLBIUS Vietnam) Introduction to Dockerfile Hà Nội, 19/07/2015 5 / 9
6. Experience: Thin vs Flat
Đóng gói phần mềm: có 2 phong cách.
• Thin (like micro design): one process per container.
• Flat (like monolithic design): all-in-one, docker container like VM.
=> tùy trường hợp để sử dụng.
Trần Hữu Cường (OLBIUS Vietnam) Introduction to Dockerfile Hà Nội, 19/07/2015 6 / 9
7. Experience: Base dựa trên image nào?
Cân bằng giữa tính tiện dụng và tính nhỏ gọn.
• Tiện dụng: dùng ubuntu, có nhiều phần mềm trong repo. Khi run
container, có thể execute vào container và có sẵn các phần mềm để
hỗ trợ việc xem thông tin, chỉnh sửa. Ví dụ: như vi editor.
• Nhỏ gọn: để có được tính nhỏ gọn, cần cắt giảm các gói phần mềm
không bắt buộc, làm giảm tính tiện dụng.
ubuntu 14.04 6d4946999d4f 188.3 MB
debian wheezy 1265e16d0c28 84.98 MB
alpine latest 31f630c65071 5.254 MB
Trần Hữu Cường (OLBIUS Vietnam) Introduction to Dockerfile Hà Nội, 19/07/2015 7 / 9