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
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
Giới thiệu các phương pháp và chiến lược đối ứng tải trong Web Application Server.
- WEB Server Scaleout
- Chiến lược Caching
- Tách DB (Horizontal Sharding / Vertical Sharding)
- Linux Kernel Parameters
[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong...DevDay Da Nang
Kubernetes is a platform used to automate the management, to scale and to deploy applications in the form of containers. Kubernetes is also called Container orchestration engine.
Giới thiệu các phương pháp và chiến lược đối ứng tải trong Web Application Server.
- WEB Server Scaleout
- Chiến lược Caching
- Tách DB (Horizontal Sharding / Vertical Sharding)
- Linux Kernel Parameters
[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong...DevDay Da Nang
Kubernetes is a platform used to automate the management, to scale and to deploy applications in the form of containers. Kubernetes is also called Container orchestration engine.
My presentation at Software Free Day 2017 - 16 September 2017, organized by Vietnam Free and Open Source Software Association.
http://sfd2017.vfossa.vn
2. CONTENT
• Docker là gì.
• Tại sao lại là Docker.
• Kiến trúc Docker.
• Dockerfile.
• Giới thiệu tool hỗ trợ.
• Practive.
3. DOCKER LÀ GÌ ?
A software container platform that allows you to
“build, ship, and run any app, anywhere.”
4. DOCKER LÀ GÌ ?
• Lịch sử
• Author: Solomon Hykes
• Released: March 2013
• Main contributors:
• The Docker team
• Cisco, Huawei, Red Hat
• Google, IBM, Microsoft
13. CONTENT
• Docker là gì.
• Tại sao lại là Docker.
• Kiến trúc Docker.
• Practive.
14. TẠI SAO LẠI LÀ DOCKER ?
• What happens: -
• Cài đặt môi trường lập trình cho nhiều hệ thống gây ra sự conflict về
dependency.
• Xóa ứng dụng thì không thực sự clear hoàn toàn.
• Không thể quản lý các thay đổi trong môi trường cài đặt và chuyển về default
khi cần cài lại.
15. TẠI SAO LẠI LÀ DOCKER ?
• Tính đóng (Isolated)
• Nhẹ
• Sự đơn giản
• Cộng đồng.
• Quy trình
16. TẠI SAO LẠI LÀ DOCKER ?
Docker và VM
• Ưu điểm
• Cài đặt rất nhanh và nhẹ.
• Sử dụng chung kernel với HostOs nên có thể chia sẻ tài nguyên hệ thống.
• Tắt bật nhanh.
• Dễ dàng quản lý và chia sẻ.
• Nhược điểm
• Mới nên sẽ có nhiều thay đổi.
• Tính bảo mật không cao bằng VM.
• Chỉ chạy được các ứng dụng trên nền Linux.
21. DOCKER ENGINE
• Là một ứng dụng Client – Server nơi mà Docker Client giao tiếp với
Docker Engine thông qua một Restfull-api để Run, Build và Manage,
Ship.
• Docker Daemon: Builds Images, chạy và quản lý các Container, RestfullAPI
• Docker CLI: Hỗ trợ các lệnh gọi trực tiếp đến Docker Daemon thông qua
RestAPI.
22. DOCKER ENGINE
• Các đối tượng chính của Docker Daemon
• Images : đóng gói ứng dụng và các thành phần phục thuộc của ứng dụng. Nó
có thể được lưu chữ trên hệ thống local hoặc đăng ký dịch vụ của các tổ chức
cung ứng các kho chứa.
• Container : là một running instance của Docker image.
• Network : Cung cấp private network giữa container và host.
• Volumes : được thiết kế để lưu trữ thông tin của container trong vòng đời của
nó. Có thể được share giữa các Container.
24. DOCKER ENGINE
• Docker CLI cơ bản
• docker build # Build an image from a Dockerfile
• docker images # List all images on a Docker host
• docker run # Run an image
• docker ps # List all running and stopped instances
• docker stop # Stop a running instances
• docker rm # Remove an instance
• docker rmi # Remove an image
26. DISTRIBUTION TOOLS
• Docker Registry : open source tự build lên hệ thống quản lý images.
• Docker Hub : Hệ thống có sẵn được cung cấp. Mặc định Docker Client
sẽ sử dụng Docker Hub
27. DOCKERFILE
• Là một file chứa tập hợp các lệnh để Docker có thể đọc và thực hiện
để đóng gói một image theo yêu cầu người dùng.
28. DATA VOLUME
• Là các thư mục được chỉ định đặc biệt bên trong một hoặc nhiều
container hỗ trợ
• Để giữ lại dữ liệu khi một container bị xóa
• Để chia sẻ dữ liệu giữa các hệ thống tập tin máy chủ và container Docker
• Để chia sẻ dữ liệu với các container Docker khác
29. DATA VOLUME
• Mount một thư mục từ host vào Container
• Lệnh mount :
docker run -itd --name test-mysql -v /home/thinhdd/mysqlshare --
env="MYSQL_ROOT_PASSWORD=123qweasd" mysql:5.6.32
• Kiểm tra đường dẫn trên host :
docker inspect --format='{{.Mounts}}' test-mysql
30. DATA VOLUME
• Mount một thư mục trên host với một thư mục trong Container
docker run -itd --name test-mysql -v /home/thinhdd/mysqlshare:/var/lib/mysql --
env="MYSQL_ROOT_PASSWORD=123qweasd" -p 6604:3306 mysql:5.6.32
31. DATA VOLUME
• Chia sẻ thư mục mount giữa các container
• Khởi tạo một docker data volume
docker create -v /tmp --name datacontainer ubuntu.
• Dùng volumes-from để xác nhận dùng chung data volume
docker run -t -i --volumes-from datacontainer ubuntu /bin/bash
32. CÁC TOOL HỖ TRỢ
• Docker Machine: Tạo các DockerEngine trên máy ảo
• Docker Swarm: Tạo Clustering Docker và hỗ trợ quản lý nhiều
Docker Engine
• Docker Compose: Compose là công cụ giúp định nghĩa và khởi chạy
multi-container Docker applications.
33. DOCKER MACHINE
• Sử dụng cho các os không hỗ trợ kernel linux như windows và mac
• Tạo các máy ảo hỗ trợ docker engine.
• Hỗ trợ tạo các máy ảo trên local (virtual box, vm , hyper-v) hoặc các
hệ thống remote ( Azure, AWS, or Digital Ocean).
37. DOCKER SWARM
• Các tính năng cơ bản
• Manager Node .
• Manager service
• Scale up-down
38. DOCKER COMPOSE
• Docker Compose là một "công cụ để định nghĩa và chạy ứng dụng
nhiều container của bạn". các ứng dụng của bạn có thể được định
nghĩa trong một file YAML nơi mà tất cả các option mà bạn sử dụng
trong docker run đều được viết ở đây. Compose cũng cho phép bạn
quản lý các ứng dụng của bạn như là một thực thể duy nhất hơn là
làm việc với từng container.