1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận tìm hiểu về docker và cài đặt thử nghiệm một hệ điều hành trên docker

35 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu về Docker và cài đặt thử nghiệm một hệ điều hành trên Docker
Tác giả Spider Man
Người hướng dẫn Trần Nguyễn Song Hiểu
Trường học Trường Đại học Sư Phạm Thành phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Tiểu luận
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 35
Dung lượng 5,36 MB

Nội dung

Áo hóa đã giúp nhiều tổ chức có thê chia sẻ các tài nguyên công nghệ thông tin theo cách tốn ít giá thành nhất, làm cho cơ sở hạ tầng công nghệ thông tin trở nên linh động và bảo đảm cun

Trang 1

KHOA CONG NGHE THONG TIN

TIỂU LUẬN: TÌM HIỂU VỀ DOCKER VÀ CÀI ĐẶT THỨ NGHIỆM MOT HE

DIEU HANH TREN DOCKER

2121COMP133206 — HE DIEU HANH

e An A Thành phố Hồ Chí Minh, ngày 30 tháng 04 năm 2022 ĐK

Trang 2

TRƯỜNG ĐẠI HỌC SU PHAM THANH PHO HO CHi MINH

KHOA CONG NGHE THONG TIN

TIỂU LUẬN: TÌM HIỂU VỀ DOCKER VÀ CÀI ĐẶT THỨ NGHIỆM MOT HE

DIEU HANH TREN DOCKER

Nhom: Spider Man

Ma lép hoc phan: 2121 COMP133206

Giảng viên hướng dẫn: Trần Nguyễn Song Hiểu

* Thành phôô Hô Chí Minh, ngày 30 tháng 04 năm 2022

Aa AS

Trang 3

LỜI CÁM ƠN

Trong suốt thời gian từ khi bắt đầu học môn Hệ Điều Hành đến nay, chúng em

đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô, gia đình và bạn bè Với lòng biết ơn sâu sắc nhất, chúng em xin gửi đến quý Thầy Cô ở Khoa Công Nghệ Thông Tin — Trường Đại học Sư Phạm TP.HCM đã cùng với tri thức và tâm huyết của mình truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập trực tuyến Và đặc biệt, trong học kỳ này, nếu không có những lời hướng dẫn của các Thầy

Cô thì chúng em nghĩ bài tiểu luận của chúng em rất khó có thể hoàn thiện được Chúng em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đối với các Thầy Cô của

trường Đại học Sư Phạm TP.HCM, đặc biệt là các Thầy Cô Khoa Công Nghệ Thông

Tin của Trường đã tạo điều kiện để chúng em có thể hoàn thành bài tiêu luận Và chúng

em cũng xin chân thành cảm on Thay Trần Nguyễn Song Hiếu đã nhiệt tình hướng dẫn

chúng em hoàn thành tốt bài tiểu luận Trong quá trình thực hiện bài tiêu luận, chúng

em rất mong nhận được ý kiến đóng góp của quý Thầy Cô đề chúng em học thêm được

nhiều kinh nghiệm và sẽ hoàn thành tốt bài tiêu luận

Chúng em xin chân thành cảm ơn!

Nhom Spider Man

Trang 4

MUC LUC

TL HH S000) .5

an <e

1.1 Khái niệm về Docker 5 sS n3 1 51551115511115511 1155215 eee 7 LLL Đmmhnghĩa 2 2c 12112 S1 HH nhe key 7 1.1.2 Các thành phần chính s5 2s E21 11EE12111121 112111 trrki 7 1.1.3 Phân biệt giữa Contaimners và Virtual Machine - 5555-55 8 1.2 Một số thành phần khác của IDock€r ccccccceeeeeeensnccnacceseseesevceas 10 1.3 Kiến trúc của Docker 2- 22 2222112112211211211211 212tr 12 1.4 _ Ưu điểm hình thức đóng gói thành Container 5s: csccsetszxerzxsez 13 1.5 Quy trình thực thị của một hệ thống sử dụng Doeker 14

1.6 Áo hóa ứng dụng với phần mềm tự do nguồn mở Docker 15

1.7 _ Ưu thể của Docker so với các phần mềm ảo hóa ứng dụng khác 17

PM) 09a 5š ễễồễồễ 19

2.1 Cai dat va sử dụng Docker c2 121211122122 1111112111811 11 key 19 2.1.1 — Cải Ởặt LH HH HH kg 19 2.1.2 Sử dụng 2n HH HH HH HH HH key 24 2.2 Các lệnh cơ bản thường dùng 1221222212 nhớ 29 2.3 File source code cải đặt thử nghiệm hệ điều hành trên Docker 31

2.4 Video demo cai dat thử nghiệm hệ điều hành trên Docker - 31

II PHẢN KẾT LUẬN c<s<5<2SeEsSEsEsEEseTkerkeSkerkeetsskeersereseessrsee 32

Trang 5

MUC LUC HINH

Hình 1 Docker có 4 thành phân chính ch nan HH yu 8 Hình 2 Khác biệt giữa Wirtual Mlachiners và COHIQlHCFS à cà cuc Sen khao 9 Hình 3 Kiến trúc DOCKED cocccccccccsccscsscsscssssssessessessessssvsssssussissussssesssssessetesstsussieesseesesees 12 Hình 4 Quy trình thực thì của hệ thống DDocÄeF SH Hye 14 7/7 mi 22417008 nh 4 ẽ ồỒỐẦỒằỒỀ 16

Trang 6

DANH SACH THANH VIEN NHOM SPIDER MAN

Trang 7

L PHAN MO DAU

® Lý do chọn đề tai

Ảo hóa là công nghệ cho phép chạy đồng thời nhiều VM (Virtual Machine) trên cùng phần cứng vật lý Cùng chia sẽ tài nguyên phần cứng và được quản lý bởi lớp ảo hóa (Hypervisor), được quản lý cấp phát tài nguyên hợp lý, tránh lãng phí Một số

trung tâm đữ liệu chỉ sử dụng 10% đến 30% năng lực xử ly hiện có của họ Áo hóa đã

giúp nhiều tổ chức có thê chia sẻ các tài nguyên công nghệ thông tin theo cách tốn ít giá thành nhất, làm cho cơ sở hạ tầng công nghệ thông tin trở nên linh động và bảo đảm cung cấp một cách tự động với những nhu cầu cần thiết Các doanh nghiệp luôn tìm giải pháp đề tiết kiệm hơn, đây cũng là lúc công nghệ ảo hóa tìm được chỗ đứng vững chắc trong lĩnh vực công nghệ thông tin trên thế giới Sử dụng công nghệ ảo hóa

đã đem đến cho người dùng sự tiện ích, có thể chạy nhiều hệ điều hành, nhiều hệ thông

đồng thời trên cùng một hệ thống phần cứng máy chủ, mở rộng khả năng lưu trữ, cung cấp tài nguyên phần cứng Công nghệ ảo hóa Docker là công nghệ mới, có khả năng phát triển mạnh mẽ trong tương lai Đây là lý do chúng em chọn đề tài “Tìm hiểu về

Docker và cài đặt thử nghiệm một hệ điều hành trên Docker” để triển khai

© Dối tượng nghiên cứu và phạm vi nghiên cứu

Đối tượng nghiên cứu: Công nghệ ảo hóa Docker

Phạm vi nghiên cứu: Tìm hiéu vé Docker va cai đặt thử nghiệm một hệ điều hành trên

Docker

® Phương pháp nghiên cứu:

- Suu tam va tong hop các nguôn tài liệu, tư liệu liên quan về vân đề ao hóa Docker

Trang 8

- _ Tìm hiểu, nghiên cứu và cài đặt thử nghiệm hệ điều hanh trén Docker

© Cấu trúc luận văn

Ngoài phần mở đầu và kết luận, nội dung luận văn chia làm 2 phần:

Phan 1 - Lý Thuyết về Docker

Phần 2 — Thực hành trên Docker

Trang 9

I PHAN NOI DUNG

thể tính chỉnh được và nó được phục vụ cho việc chạy ảo hóa các dịch vụ và ứng dụng

một cách nhanh chóng hơn

1.1.2 Các thành phần chính

Docker bao gồm 4 thành phần chính sau đây:

Docker Image: Nó được xem là những template nằm trong Docker Container Người dùng có thể thao tac trén cac template dé tạo ra những Docker Container giống nhau Docker Image cé thé la file hinh anh, file cua mét nén tảng, một ngôn ngữ hoặc của một hệ diéu hanh, Cac Image duge chia sé céng khai 6 Docker Hub dé tat cả mọi người có thể cùng nhau sử dụng và phát trién

Docker Container: Docker Container thực chất là một máy ảo và là phiên bản thực thì

các lệnh của Docker Image khi Container nam giữ toàn bộ các package cân thiết để khởi động và chạy ứng dụng Các Container sẽ sử dụng chung tài nguyên của hệ thông nên rất nhẹ và giúp các thao tác kết nối, tương tác diễn ra nhanh chóng, tiện lợi hơn Docker Engine: Đây là thành phần cực kỳ quan trọng và không thê thiếu của Docker

có nhiệm vụ như một công cụ có khả năng đóng gói các ứng dụng Công dụng chính

Trang 10

cua Docker Engine là chay container, quan ly viéc tao image, két noi vao container, tai Image về hoặc sử dụng những 1mage có sẵn,

Docker Hub: Đây chính là dịch vụ cloud có khả năng tự động hóa chuỗi các công việc

liên tục và chia sẻ các ứng dụng Nó cho phép người dung thao tac pull/ push với các images

docker daemon

Hình 1 Docker có 4 thành phân chính 1.1.3 Phân biệt giữa Containers và Virtual Machine

Nó phù hợp, và tối quan trọng đề trích xuất và giải thích những lợi thế thay đối

trò chơi của phong trào container hóa lấy cảm hứng từ Docker so với mô hình ảo hóa hoàn toàn trưởng thành và được sử dụng rộng rãi Trong mô hình container hóa, các tối

ưu hóa hợp lý về mặt chiến lược đã được thực hiện thông qua một vài cách hợp lý hóa

quan trọng và được xác định rõ ràng cũng như chia sẻ sâu sắc các tài nguyên máy tính Một số khả năng bẩm sinh và cho đến nay chưa được sử dụng của nhân Linux đã được khám phá lại Những khả năng này đã được khen thưởng vì mang lại khả năng tự

Trang 11

động hóa và tăng tốc được nhiều người mong muốn, điều này sẽ cho phép ý tưởng

container hóa non trẻ đạt được những tầm cao lớn hơn trong những ngày tới, đặc biệt là

trong thời đại đám mây Những lợi thế kinh doanh và kỹ thuật đáng chú ý của chúng

bao gồm hiệu suất ở quy mô kim loại trần, khả năng mở rộng thời gian thực, tính khả

dụng cao hơn, và như thế Tất cả các phần lồi và phần phăng không mong muốn đang

được loại bỏ một cách nghiêm túc để tăng tốc độ tung ra hàng trăm vùng chứa ứng

dụng trong vài giây và giảm thời gian tiếp thị và định giá theo cách hiệu quả về chỉ

phí Sơ đồ bên trai sau đây mô tả khía cạnh ảo hóa, trong khi sơ đồ bên tay phải minh

họa một cách sinh động những đơn giản hóa đang đạt duoc trong cac containers:

Virtual Machines (Ma

Dai dién cho ao hoa mu

Hinh 2 Khdc biét giita Virtual Machiners và Containers Kích thước lớn (Dung h Cập phép chậm

Hiệu suât han ché

Hoàn toàn cô lập và do

Việc sử dụng máy ảo hay Containers sẽ phụ thuộc vào nhụ cầu sử dụng người

dùng Máy áo rất phù hợp trong việc cách ly tài nguyên hệ thống và toàn bộ môi trường

làm việc Đây sẽ là lựa chọn tốt hơn dé chạy các ứng dụng yêu cầu tất cả tài nguyên và

chức năng của hệ điều hành khi bạn cần chạy nhiều ứng dụng trên server hoặc có nhiều

Trang 12

hệ điều hành khác nhau để quản lý Mặt khác, triết lý của Docker là cô lập các ứng dụng riêng lẻ, không phải toàn bộ hệ thống Một ví dụ hoàn hảo về điều này sẽ là chia

nhỏ một loạt các địch vụ web thành các Docker image của riêng chúng và triển khai chúng bằng Docker Container Docker Container là lựa chọn tốt hơn khi ưu tiên lớn nhất của bạn là tối đa hóa số lượng ứng dụng đang chạy trên một số lượng server tối

Là fñle ảnh, ñle nền của một hệ điều hành, một nền tảng, một ngôn ngữ (ví dụ: ubuntu

image, ruby image, rails image, mysql image ) Từ các image này, bạn sẽ dùng nó đề

tao ra cac container

Cac image la dang file-chi-doc (read only file) Mét image c6 thé duoc tao tir nhiéu image khac (vi dy: ban tao 1 image chay ubuntu, cé cai san ruby 2.3 va rails 5, image

này của bạn được tạo nên bởi 3 image khac)

¢ Docker registries:

Là kho chứa images Người dùng có thé tao ra cac images cia minh va tai lên đây

hoặc tải về các images duoc chia sé

¢ Docker container:

Hoạt động giống như một thư mục (directory), chứa tat cả những thứ cần thiết để một

ứng dụng có thê chạy được Mỗi một docker container được tạo ra từ một docker

image Cac thao tác với một container: chạy, bật, dừng, di chuyền, và xóa

10

Trang 13

Là một máy ảo, được cấu thành từ I image và được đắp thêm I lớp “trang trí” writable-ñle-layer Các thay đổi trong máy ảo này (cài thêm phần mềm, tạo thêm file ) sẽ được lưu ở lớp trang trí này

Các container này sẽ dùng chung tài nguyên của hệ thống (RAM, Disk, Network ), chính nhờ vậy, những contaimer của bạn sẽ rất nhẹ, việc khởi động, kết nối, tương tác sẽ rất nhanh gọn

Nếu ánh xạ sang hướng đối tượng, thì image chính là class, còn container chính

là instance-1 thé hién cua class 46 Tw 1 class ta cé thé tao ra nhiéu instance, tương tự, tir | image ta cũng có thê tạo ra được nhiều container hoàn toàn giỗng nhau

4 Orchestration:

Là các công cụ, dịch vụ dùng đề điêu phôi và quản ly nhiéu containers sao cho chung

làm việc hiệu quả nhất

1.3 Kiến trúc cia Docker

Trang 14

Docker str dung kién tric client-server Docker server (hay còn gọi là daemon) chịu trach nhiém build, run, distrubute Docker containter Docker client va Docker server co thể nằm trên cùng một server hoặc khác server Chúng giao tiếp với nhau thông qua

RESTT API dựa trên UNIX sockets hoặc network Interface

® Docker daemon: Docker daemon (dockerd) là thành phần core, lắng nghe API request và quản lý các Docker object Docker daemon host này cũng có thể giao tiếp được với Docker daemon ở host khác

® Docker client: Docker client (docker) là phương thức chính đề người dùng thao tác với Docker Khi người dùng gõ lệnh docker run mmageABC tức là người dùng sử dụng CLI và gửi request đến dockerd thông qua API, và sau đó Docker daemon sẽ xử lý tiếp Docker client có thể giao tiếp và gửi request đến nhiều Docker daemon

© Docker registry: Docker registry 1a một kho chứa các Image Nỗi tiếng nhất

chính la Docker Hub, ngoai ra bạn có thé tu xay dung mét Docker registry cho

image co săn một cách cơ bản nhất, hoặc bạn cé thé download Docker

1mage của người khác

> Docker container: Docker container c6 nét gidng véi cac directory Một Docker container giữ mọi thứ chúng ta cần để chạy một app Mỗi

12

Trang 15

container duoc tao tr Docker image Docker container có thê có các trang thai run, started, stopped, moved va deteled

1.4 Ưu điểm hình thức đóng gói thành Container

Việc đóng gói thành các container này có thê giải quyết được nhiều vấn đề mà ta

phiên ban trén | Container va chạy một cách trơn tru

Kĩ Khả năng khởi động nhanh của Docker cũng là một lợi thế rất lớn

MI Tiếp theo nói về tài nguyên, Docker sẽ ngốn ít tải nguyên hơn các máy hypervIsor

13

Trang 16

1.5 Quy trình thực thi của một hệ thống str dung Docker

Hình 4 Quy trình thuc thi cua hé thong Docker

Như trong hình vẽ, một hệ thống Docker duoc thie thi với 3 bước chính:

Đuild — Push — Pull, Run

®© Build: Dau tién chúng fa sẽ tạo một dockecrfile, trong dockerfile này chính la code cua chung ta Dockerfile nay sé dugc Build tại một máy tính đã cài đặt

Docker Engine Sau khi build ta sé thu duoc Container, trong Container nay chura

bộ thư viện và ứng dụng của chúng ta

® Push: Sau khi có được Contamer, chúng ta thực hiện push Container nay lên

đám mây và lưu trữ ở đó Việc push này có thê thực hiện qua môi trường mạng

Trang 17

Đó chính là quy trình 3 bước rất đơn giản và rõ ràng miêu tả hoạt động của một hệ

thống sử dụng Docker

1.6 Áo hóa ứng dụng với phần mềm ty do nguồn mở Docker

Ảo hóa ứng dụng là một dạng công nghệ ảo hóa khác cho phép chúng ta tách rời

mối liên kết giữa ứng dụng và hệ điều hành và cho phép phân phối lại ứng dụng phù

hợp với nhu cầu người dùng Một ứng dụng được ảo hóa sẽ không được cài đặt lên máy tính một cách thông thường, mặc dù ở góc độ người sử dụng, ứng dụng vẫn hoạt động một cách bình thường Việc quản lý việc cập nhật phần mềm trở nên dễ dàng hơn, giải quyết sự đụng độ giữa các ứng dụng và việc thử nghiệm sự tương thích của chúng cũng trở nên dễ dàng hơn Hiện nay đã có khá nhiều chương trình ảo hóa ứng dung nhu Vmware, Docker, Citrix XenApp,

Ao hóa ứng dụng là giải pháp tiến đến công nghệ “điện toán đám mây” cho phép ta sử dụng phần mềm của công ty mà không cần phải cài phần mềm này vào bất

cu may tinh nao

Redis + redis-gentinei "8290p + hive + thwift + OpenJO)

Ruby + Rails + sass + Unicom puE Sa2|A12S

b

® =2 é@ API endpoint

Python 2.7 + Flask + pyredis + celery + psycopg + posigresgi-client

Ngày đăng: 02/08/2024, 16:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w