1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

35 21 0

Đ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ả Nhóm: Spider Man
Người hướng dẫn Thầy 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 0,95 MB

Cấu trúc

  • I. PHẦN MỞ ĐẦU (7)
  • II. PHẦN NỘI DUNG (9)
    • 1. LÝ THUYẾT (9)
      • 1.1. Khái niệm về Docker (9)
        • 1.1.1. Định nghĩa (9)
        • 1.1.2. Các thành phần chính (9)
        • 1.1.3. Phân biệt giữa Containers và Virtual Machine (10)
      • 1.2. Một số thành phần khác của Docker (12)
      • 1.3. Kiến trúc của Docker (13)
      • 1.4. Ưu điểm hình thức đóng gói thành Container (15)
      • 1.5. Quy trình thực thi của một hệ thống sử dụng Docker (16)
      • 1.6. Ảo hóa ứng dụng với phần mềm tự do nguồn mở Docker (17)
      • 1.7. Ưu thế của Docker so với các phần mềm ảo hóa ứng dụng khác (19)
    • 2. THỰC HÀNH (21)
      • 2.1. Cài đặt và sử dụng Docker (21)
        • 2.1.1. Cài đặt (21)
        • 2.1.2. Sử dụng (26)
      • 2.2. Các lệnh cơ bản thường dùng (31)
      • 2.3. File source code cài đặt thử nghiệm hệ điều hành trên Docker (33)
      • 2.4. Video demo cài đặt thử nghiệm hệ điều hành trên Docker (33)
  • III. PHẦN KẾT LUẬN (34)

Nội dung

PHẦN MỞ ĐẦU

Ảo hóa là công nghệ cho phép chạy đồng thời nhiều máy ảo (VM) trên cùng một phần cứng vật lý, giúp tối ưu hóa việc sử dụng tài nguyên và giảm thiểu lãng phí Nhiều trung tâm dữ liệu hiện chỉ sử dụng từ 10% đến 30% năng lực xử lý của họ, và ảo hóa đã giúp các tổ chức chia sẻ tài nguyên công nghệ thông tin hiệu quả hơn với chi phí thấp Công nghệ này mang lại sự linh động cho cơ sở hạ tầng CNTT, tự động đáp ứng nhu cầu cần thiết của doanh nghiệp Việc sử dụng ảo hóa cho phép người dùng chạy nhiều hệ điều hành và hệ thống đồng thời trên cùng một máy chủ, mở rộng khả năng lưu trữ và cung cấp tài nguyên hiệu quả Đặc biệt, công nghệ ảo hóa Docker đang phát triển mạnh mẽ và hứa hẹn nhiều tiềm năng trong tương lai Chính vì vậy, chúng tôi đã 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.

 Đố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 và cài đặt thử nghiệm một hệ điều hành trên Docker.

- Sưu tầm và tổng hợp các nguồn tài liệu, tư liệu liên quan về vấn đề ảo hóa Docker.

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

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

Phần 1 – Lý Thuyết về Docker.

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

PHẦN NỘI DUNG

LÝ THUYẾT

Docker là nền tảng giúp lập trình viên dễ dàng xây dựng, triển khai và chạy ứng dụng thông qua việc sử dụng containers Ban đầu được phát triển bằng Python, hiện nay Docker đã chuyển sang sử dụng Golang Nền tảng này hoạt động ở tầng hệ điều hành, cho phép tối ưu hóa và tăng tốc độ ảo hóa các dịch vụ và ứng dụng.

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 tác trên các template để tạo ra những Docker Container giống nhau.

Docker Image là một tệp hình ảnh đại diện cho một nền tảng, ngôn ngữ hoặc hệ điều hành Những hình ảnh này được chia sẻ công khai trên Docker Hub, cho phép người dùng dễ dàng truy cập, sử dụng và phát triển.

Docker Container là một máy ảo thực thi các lệnh từ Docker Image, chứa đầy đủ các gói cần thiết để khởi động và chạy ứng dụng Các Container chia sẻ tài nguyên hệ thống, giúp giảm thiểu trọng lượng và tăng tốc độ kết nối, tương tác.

Docker Engine là thành phần thiết yếu của Docker, đóng vai trò quan trọng trong việc đóng gói ứng dụng Chức năng chính của Docker Engine bao gồm việc chạy container, quản lý quá trình tạo image, kết nối vào container, tải image từ kho hoặc sử dụng các image đã có sẵn.

Docker Hub là dịch vụ cloud giúp tự động hóa quy trình làm việc liên tục và chia sẻ ứng dụng Nó cho phép người dùng thực hiện các thao tác pull và push với các images một cách dễ dàng.

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

Phong trào container hóa lấy cảm hứng từ Docker mang lại những lợi thế vượt trội so với mô hình ảo hóa truyền thống, nhờ vào việc tối ưu hóa chiến lược và chia sẻ tài nguyên máy tính hiệu quả Nhiều khả năng chưa được khai thác của nhân Linux đã được khám phá, tạo ra cơ hội tự động hóa và tăng tốc mà nhiều người mong đợi Những lợi ích này bao gồm hiệu suất cao trên môi trường kim loại trần, khả năng mở rộng thời gian thực và tính khả dụng cao hơn Việc loại bỏ các phần thừa thãi giúp tăng tốc độ triển khai hàng trăm vùng chứa ứng dụng chỉ trong vài giây, đồng thời giảm thời gian tiếp thị và chi phí Sơ đồ bên trái minh họa khía cạnh ảo hóa, trong khi sơ đồ bên phải thể hiện những đơn giản hóa đạt được từ việc sử dụng containers.

Bảng sau đưa ra so sánh trực tiếp giữa máy ảo và containers:

Virtual Machines (Máy Đại diện cho ảo hóa mức Kích thước lớn (Dung lư Cấp phép chậm

Hiệu suất hạn chế Hoàn toàn cô lập và do đó

Việc lựa chọn giữa máy ảo và Containers phụ thuộc vào nhu cầu cụ thể của người dùng Máy ảo là sự lựa chọn lý tưởng để cách ly tài nguyên hệ thống và toàn bộ môi trường làm việc, đặc biệt khi cần chạy các ứng dụng đòi hỏi toàn bộ tài nguyên và chức năng của hệ điều hành Điều này rất hữu ích khi bạn cần triển khai nhiều ứng dụng trên một server.

Docker khác biệt với các hệ điều hành ảo hóa ở chỗ nó cô lập từng ứng dụng riêng lẻ thay vì toàn bộ hệ thống Một ví dụ điển hình là việc chia nhỏ các dịch vụ web thành các Docker image độc lập và triển khai chúng qua Docker Container Sử dụng Docker Container là lựa chọn tối ưu khi bạn muốn tối đa hóa số lượng ứng dụng chạy trên ít máy chủ nhất có thể.

1.2 Một số thành phần khác của Docker

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

An image file serves as the foundational layer for an operating system, platform, or programming language, such as Ubuntu, Ruby, Rails, or MySQL These images are essential for creating containers, which are lightweight, portable, and executable units that encapsulate software and its dependencies.

Images are read-only files that can be created from multiple other images For example, if you create an image running Ubuntu with Ruby 2.3 and Rails 5 pre-installed, this new image is derived from three different images.

Là kho chứa images Người dùng có thể tạo ra các images của mình và tải lên đây hoặc tải về các images được chia sẻ.

Docker hoạt động như một thư mục, lưu trữ mọi thứ cần thiết cho việc chạy ứng dụng Mỗi Docker container được tạo ra từ một Docker image, và người dùng có thể thực hiện các thao tác như chạy, bật, dừng, di chuyển và xóa container.

Máy ảo được tạo ra từ một image và có thêm một lớp writable-file-layer để trang trí Tất cả các thay đổi trong máy ảo, như cài đặt phần mềm hay tạo file mới, sẽ được lưu trữ ở lớp trang trí này.

Các container này chia sẻ tài nguyên hệ thống như RAM, ổ đĩa và mạng, giúp chúng trở nên nhẹ hơn Nhờ vậy, quá trình khởi động, kết nối và tương tác với các container diễn ra nhanh chóng và hiệu quả.

In object-oriented mapping, an image represents a class, while a container serves as an instance of that class From a single class, multiple instances can be created, just as one image can generate several identical containers.

Là các công cụ, dịch vụ dùng để điều phối và quản lý nhiều containers sao cho chúng làm việc hiệu quả nhất.

Docker operates on a client-server architecture, where the Docker server, also known as the daemon, is responsible for building, running, and distributing Docker containers The Docker client and server can exist on the same server or on different servers, communicating through a REST API that utilizes UNIX sockets or network interfaces.

THỰC HÀNH

2.1 Cài đặt và sử dụng Docker

Những điều lưu ý khi cài đặt:

Hệ thống yêu cầu (theo yêu cầu từ chủ trang của Docker):

 With the Operating system: start up is Windows 10 64-bit.

 Cần bật Hyper-V và Containers Windows.

Load fiel install Docker for Windows tại https://www.docker.com/get-started

Sau khi tải về, bạn cần cài đặt Docker bằng cách sử dụng tập tin Docker Desktop Installer.exe Để chạy Docker, hãy đảm bảo rằng tính năng Hyper-V của Windows đã được bật Trong quá trình cài đặt, nếu Hyper-V chưa được kích hoạt, sẽ có một hộp kiểm xuất hiện hỏi bạn có muốn bật Hyper-V hay không; hãy chọn hộp kiểm này để kích hoạt Hyper-V.

Sau khi cài đặt Docker, bạn cần khởi động lại máy tính để chạy ứng dụng Sau khi khởi động, biểu tượng Docker sẽ xuất hiện trên khay hệ thống Để kiểm tra thông tin chi tiết về Docker, bạn có thể sử dụng lệnh cmd.

To verify the version of Docker, thực hiện cmd.

Khi quá trình khởi chạy hoàn thành, chúng ta có một màn hình giới thiệu khi mở Docker Desktop

23 Đã thiết lập xong Docker trên Windows 10.

 Một số câu lệnh trong Docker

Quản lí các images/containers

List các images đang có:

List các container đang chạy:

$ cd folder chứa docker file

 Chạy thử ubuntu trên Docker

1-Tạo một file có tên là Dockerfile.

2-Nội dung file bên dưới

3-Mở timinal run lệnh $ docker build -t test

4-Sau khi chạy xong mở Docker desktop lên sẽ thấy một images mới tên là test.

6-Cấu hình port 3389 như trong dockerfile.

7-Mở Remote desktop connection chọn phần localhost:3389 nhấn connect.

8-Sau khi connect máy sẽ bắt đăng nhập người dùng:

Như chúng ta đã cấu hình bên Dockerfile.

2.2 Các lệnh cơ bản thường dùng

Các lệnh cơ bản thường dùng bao gồm:

1-Hiển thị danh sách các images:

Docker pull

(Phần tag là options, nếu để trống thì mặc định download bản latest)

Ví dụ: docker pull ubuntu => download ubuntu latest

Dockerpull ubuntu: 14.04 => download ubuntu version 14.04

Docker run – name -v : -p: bash

Ví dụ: docker run -name eva_nginx -p 80:80 -d nginx

 Docker run: lệnh chạy của Docker

 name: đặt tên cho container ở đây là eva_nginx Name này là duy nhất không thể tạo trùng, nếu không đặt thì docker tự genate

 p mở port container ra ngoài IP public

 d bật chế độ chạy background

Docker ps -a (liệt kê tất cả các container)

Docker ps (chỉ liệt kê các container đang chạy background)

Docker stop

Docker stop $(docker ps -a -q) (Dừng tất cả các docker đang dùng)

6-Khởi động lại container đã dừng

Docker start

7-Xóa container không còn sử dụng

Docker rm

Docker rm $(docker ps -a -q) (Xóa tất cả các docker)

8-Truy cập vào 1 container đang chạy

Docker exec -it bash

Docker export | gzip > file_export.tar.gz

Zcat file_export.tar.gz | docker Sau khi chạy xong, chạy lệnh docker images để kiểm tra lại trong danh sách list images.

Ngoài ra còn nhiều lệnh khác Sử dụng lệnh docker -h sẽ liệt kê chi tiết.

2.3 File source code cài đặt thử nghiệm hệ điều hành trên Docker https://github.com/an678-mhg/dockerfile/blob/master/Dockerfile? fbclid=IwAR1RabOMF- jkHhmyZQmMH7VZhlQ9Ecx0VPk1184pHQ4jUBnrfMLW3Rn2f9w

2.4 Video demo cài đặt thử nghiệm hệ điều hành trên Docker https://drive.google.com/file/d/1FyFRbWu2Fj6Yp3CfdKFliQmpEe7raAVx/view? fbclid=IwAR0nC4fPRACgElyHywD4Azo9pRnEnVH0sXJmCN4h3z-

PHẦN KẾT LUẬN

Docker, được phát hành dưới dạng mã nguồn mở vào tháng 3 năm 2013, nhanh chóng trở thành một trong 20 dự án hàng đầu trên GitHub vào năm 2015 Năm 2017 đánh dấu sự thay đổi lớn của Docker, với phần mềm ảo hóa này được đánh giá là tương lai của công nghệ ảo hóa, hỗ trợ nhiều hệ điều hành như GNU/Linux, Cloud, Mac OS X và Microsoft Windows Thay vì sử dụng máy ảo độc lập như hypervisors, Docker cung cấp giải pháp ảo hóa bằng cách đóng gói ứng dụng thành các Container riêng lẻ, cho phép chúng chạy chung trên nhân hệ điều hành qua LXC, giúp tiết kiệm tài nguyên và tăng tốc độ Hệ thống Docker bao gồm hai thành phần chính là Docker Engine và Docker Hub, cùng với các đối tượng như Docker images, Docker registries, Docker container, Dockerfile, và Orchestration Quy trình thực thi Docker diễn ra qua ba bước chính: Build → Push → Pull, Run, và quy trình ảo hóa ứng dụng bao gồm việc tạo Dockerfile, build image và chạy container So với các công nghệ ảo hóa khác như Virtual Machine và Vagrant, Docker nổi bật với tốc độ nhanh hơn, nhẹ hơn và dễ dàng chia sẻ hơn.

Ngày đăng: 30/09/2022, 11:07

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Ngô Đinh Hải Long (2019), Tìm Hiểu Giải Pháp Ảo hóa và Ứng Dụng, Đại học Dân lập Hải Phòng Sách, tạp chí
Tiêu đề: Tìm Hiểu Giải Pháp Ảo hóa và Ứng Dụng
Tác giả: Ngô Đinh Hải Long
Năm: 2019
[2] Vũ Trọng Chiến (2017), Công Nghệ Ảo Thuật Hóa Docker và Ứng Dụng, Đại học Dân lập Hải Phòng Sách, tạp chí
Tiêu đề: Công Nghệ Ảo Thuật Hóa Docker và Ứng Dụng
Tác giả: Vũ Trọng Chiến
Năm: 2017
[3] Linux (2015), [Docker] – Part 2 – Cấu trúc và quy trình hoạt động của Docker, Asianux Viet Nam Sách, tạp chí
Tiêu đề: [Docker] – Part 2 – Cấu trúc và quy trình hoạt động của Docker
Tác giả: Linux
Năm: 2015
[4] Got it VietNam (2021), Docker là gì? Những thành phần chính của Docker, Got It Sách, tạp chí
Tiêu đề: Docker là gì? Những thành phần chính của Docker
Tác giả: Got it VietNam
Năm: 2021
[5] Zorroteo (2020), Docker Cơ Bản: Hướng dẫn cài đặt Docker trong Windows, Codelearn.B. TIẾNG ANH Sách, tạp chí
Tiêu đề: Docker Cơ Bản: Hướng dẫn cài đặt Docker trong Windows
Tác giả: Zorroteo
Năm: 2020
[6] Pethuru Raj, Jeeva S. Chelladhurai, Vinod Singh (2015), Learning Docker, Packt Publishing Ltd Sách, tạp chí
Tiêu đề: Learning Docker
Tác giả: Pethuru Raj, Jeeva S. Chelladhurai, Vinod Singh
Năm: 2015

HÌNH ẢNH LIÊN QUAN

Hình 1. Docker có 4 thành phần chính - Tìm hiểu về docker và cài đặt thử nghiệm một hệ điều hành trên docker
Hình 1. Docker có 4 thành phần chính (Trang 10)
Bảng sau đưa ra   so   sánh trực tiếp giữa máy   ảo   và containers: - Tìm hiểu về docker và cài đặt thử nghiệm một hệ điều hành trên docker
Bảng sau đưa ra so sánh trực tiếp giữa máy ảo và containers: (Trang 11)
Hình 3. Kiến trúc Docker - Tìm hiểu về docker và cài đặt thử nghiệm một hệ điều hành trên docker
Hình 3. Kiến trúc Docker (Trang 13)
Hình 4. Quy trình thực thi của hệ thống Docker - Tìm hiểu về docker và cài đặt thử nghiệm một hệ điều hành trên docker
Hình 4. Quy trình thực thi của hệ thống Docker (Trang 16)
Hình 5. Hypervisor - Tìm hiểu về docker và cài đặt thử nghiệm một hệ điều hành trên docker
Hình 5. Hypervisor (Trang 17)
Khi quá trình khởi chạy hồn thành, chúng ta có một màn hình giới thiệu khi mở Docker Desktop - Tìm hiểu về docker và cài đặt thử nghiệm một hệ điều hành trên docker
hi quá trình khởi chạy hồn thành, chúng ta có một màn hình giới thiệu khi mở Docker Desktop (Trang 25)
6-Cấu hình port 3389 như trong dockerfile. - Tìm hiểu về docker và cài đặt thử nghiệm một hệ điều hành trên docker
6 Cấu hình port 3389 như trong dockerfile (Trang 30)
Như chúng ta đã cấu hình bên Dockerfile. - Tìm hiểu về docker và cài đặt thử nghiệm một hệ điều hành trên docker
h ư chúng ta đã cấu hình bên Dockerfile (Trang 31)
2.2. Các lệnh cơ bản thường dùng - Tìm hiểu về docker và cài đặt thử nghiệm một hệ điều hành trên docker
2.2. Các lệnh cơ bản thường dùng (Trang 31)

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

TÀI LIỆU LIÊN QUAN

w