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

MÔN CÔNG NGHỆ NET đề tài DOCKER TRONG c

50 4 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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỀ TÀI: DOCKER TRONG C# MÔN: CÔNG NGHỆ NET Giảng viên hướng dẫn: Huỳnh Hồ Thị Mộng Trinh Sinh viên thực hiện: Nguyễn Công Phi – 19522006 Lương Thiện Phước – 19522055 Bùi Như Phước - 19522052 LỜI CẢM ƠN Chúng em xin gửi lời cảm ơn chân thành đến cô Huỳnh Hồ Thị Mộng Trinh giảng viên môn “Công nghệ Net” khoa Công nghệ phần mềm tận tâm hướng dẫn chúng em trang bị cho chúng em kiến thức, kĩ cần có để hồn thành đề tài nghiên cứu Tuy nhiên trình nghiên cứu đề tài, kiến thức chun ngành cịn hạn chế chưa có kinh nghiệm làm việc thực nên chúng em cịn nhiều thiếu sót tìm hiểu, đánh giá trình bày đề tài Rất mong nhận quan tâm, góp ý để đề tài chúng em đầy đủ hoàn chỉnh Chúng em xin chân thành cảm ơn Nhóm thực đề tài MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c Mục lục I Giới thiệu chung: .3 Đặt vấn đề: Định nghĩa: II Công nghệ Docker: Containerlization: .4 Lịch sử container III 2.1 Định nghĩa: 2.2 Lịch sử hình thành Container Các thành phần docker .10 Các thành phần 10 1.1 Docker Engine: 10 1.3 Docker Registry/Docker Hub 13 Một số lệnh bản: 13 2.1 Các câu lệnh: 13 2.3 IV Một số option thường dùng với docker run: .15 Docker C# 16 Docker C# làm gì: 16 Giải thích dockerfile 17 2.1 Cấu trúc dockerfile: .17 Giải thích dockercompose 19 3.1 Khái niệm 19 MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c V 3.2 Đặc điểm 20 3.3 Lợi ích 20 Kết luận 20 Độ hữu dụng docker 20 Ưu nhược điểm 21 VI 2.1 Ưu điểm .21 2.2 Nhược điểm 21 Bảng phân công công việc 22 Tài liệu tham khảo 23 MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c I Giới thiệu chung: Đặt vấn đề: - Khi phát triển bảo trì ứng dụng, thông thường cần cài đặt số mơi trường, thư viện, phụ thuộc cho chương trình đó, việc khó khăn chuyển môi trường, đặc biệt với môi trường yêu cầu hệ điều hành khác lại thêm rắc rối, Docker cơng cụ để đơn giản hóa điều Chỉ với vài dịng lệnh, nhanh chóng tạo mơi trường ảo hố chứa đầy đủ cài đặt cần thiết cho dự án Nhưng không dừng lại đó, cơng dụng Docker cịn nhiều ngày sử dụng phổ biến khắp nơi Định nghĩa: - Docker tảng cung cấp cho công cụ, service để developers, adminsystems phát triển, thực thi, chạy ứng dụng với containers Hay nói cách khác tảng để cung cấp cách để building, deploy run ứng dụng cách dễ dàng tảng ảo hóa - Phần lớn nói về Docker, ta thường hiểu là Cơng nghệ Docker Nó phần mềm chạy Linux Windows, cho phép dựng, kiểm thử triển khai ứng dụng cách nhanh chóng Docker đóng gói phần mềm vào đơn vị tiêu chuẩn hóa gọi là container Docker được đặt tên xuất phát từ cách diễn đạt dock worker - Docker có hai phiên chính: o Docker Community Editon – CE: Là phiên miễn phí MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c o Docker Enterprise – EE: Phiên phiên trả phí, sử dụng phiên có hỗ trợ từ nhà phát hành II Công nghệ Docker: Containerlization: - Trước đây, mơ hình máy chủ thường là: o Máy chủ vật lý (physical server) + hệ điều hành (operating system) + ứng dụng (application) - Vấn đề gặp phải lãng phí tài nguyên o Một máy chủ cài OS o Cho dù có ổ cứng khủng, ram khủng khơng tận dụng hết lợi - Sau đời cơng nghệ ảo hóa virtualization o Có thể nghe tới tên Virtualbox hay VMware rồi khơng, đó MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c - Docker tích hợp VCS-git, để tracking dịng lệnh thiết lập, hay đánh dấu version cho ứng dụng - Tiết kiệm thời gian cho dev (Docker start va stop vài giây) Giải thích dockerfile 2.1 Cấu trúc dockerfile: - Cấu trúc Dockerfile thường thấy gồm thành phần: FROM, RUN, CMD - Trong FROM thị bắt buộc phải có file Ngồi cịn có thị khác hay xuất hiện, là: MAINTAINER, COPY, ENV, ENTRYPOINT, WORKDIR, USER, VOLUME, EXPOSE 2.1.1 From: - Là thị bắt buộc của file Chỉ thị phải đặt Dockerfile Ý nghĩa định image sở để từ triển khai, xây dựng image Để xây dựng từ image sở cần đọc document image để biết chứa gì, chạy lệnh Ví dụ, chọn xây dựng từ image centos:lastest lệnh cài đặt, cập nhật gói yum, chọn ubuntu:latest trình quản lý gói lại apt…  - FROM xuất nhiều lần Dockerfile, tạo nhiều image sử dụng giai đoạn build khác Với lệnh FROM, xóa trạng thái FROM tạo trước đó.  - Cấu trúc: o FROM [AS ] o FROM [:] [AS ] o FROM [@] [AS ] 17 MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c - Trong đó: Từ khố “AS” dùng muốn đổi tên image; “tag” và “digest” là tùy chọn image, mặc định khơng có tag lấy version cuối cùng: latest - Ví dụ: o FROM centos AS testImage o FROM centos:7 AS testImage 2.1.2 Run - Là thị khơng bắt buộc - Chạy q trình build image kết đc lưu lại thêm image gốc - Với câu lệnh RUN, có forms cho lựa chọn: - RUN (shell form, command chạy bên shell, mặc định /bin/sh c Linux cmd /S /C Windows Chúng ta thực nhiều lệnh lúc cách thức ‘shell form‘ sử dụng thị RUN với dấu ‘\‘) - Ví dụ: o RUN apt-get update; o apt-get install curl -y o RUN [“executable”, “param1”, “param2”] (exec form) - Ví dụ: RUN apt-get update RUN apt-get install curl -y 2.1.3 CMD: - Là thị không bắt buộc - Định nghĩa câu lệnh chạy sau chạy container - Có thể khai báo nhiều có CMD cuối có tác dụng 18 MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c - Khi sử dụng hình thức shell cho lệnh CMD, thực thi với /bin/sh –c - Ví dụ: o CMD [“/bin/sh”, “/home/run.sh”] o LABEL: cung cấp metadata cho image Có thể sử dụng để add thông tin maintainer o INSPECT: Để xem label images o ENV: thiết lập biến môi trường o COPY: Sao chép file thư mục vào container o WORKDIR: Thiết lập thư mục làm việc cho thị khác như: RUN, CMD, ENTRYPOINT, COPY, ADD,… o ARG: Định nghĩa giá trị biến dùng lúc build image o ENTRYPOINT: cung cấp lệnh đối số cho container thực thi o EXPOSE: khai báo port lắng nghe image o VOLUME: tạo điểm gắn thư mục để truy cập lưu trữ data Giải thích dockercompose 3.1 Khái niệm - Docker compose công cụ dùng để định nghĩa run multi-container cho Docker application Với compose sử dụng file YAML để config services cho application Sau dùng command để create run từ config Sử dụng đơn giản với ba bước: - Khai báo app’s environment Dockerfile 19 MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c - Khai báo services cần thiết để chạy application file dockercompose.yml - Run docker-compose up để start run app 3.2 Đặc điểm - Không giống Dockerfile (build image) Docker compose dùng để build run container Các thao tác docker-compose tương tự lệnh: docker run - Docker compose cho phép tạo nhiều service(container) giống lệnh: $ docker-compose scale = 3.3 Lợi ích - Tạo nhiều môi trường độc lập (isolated environments) host: Compose cô lập môi trường project để đảm bảo chúng không bị xung đột lẫn nhau, dễ dàng tạo mơi trường - Chỉ tạo lại container thay đổi: Compose nhận biết service chưa thay đổi sử dụng lại container tương ứng với service - Điều chỉnh biến sử dụng cho môi trường: Compose sử dụng biến Compose file cho mơi trường Vì với mơi trường hay người dùng khác nhau, điều chỉnh biến sử dụng Compose để thiết lập service V Kết luận Độ hữu dụng docker - Sử dụng docker giúp cho tất developer phát triển môi trường giống hệt 20 MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c - Do mơi trường test phát triển giống nên phòng trừ trường hợp test local lại fail với CI - Có thể cố định version cách chia sẻ image fetch library liên quan Hoạt động library lấy go get không bị thay đổi - Vì kiểm tra hoạt động mà cài đặt OK deploy docker image đó, việc login vào server để thay đổi cài đặt trở nên không cần thiết Hơn nữa, hồn tồn test blackbox xem việc cài đặt chuẩn hay chưa - Đây vài ví dụ, nhiên cho thấy Docker có ích giúp giải vấn đề bên lề nhiều thời gian bên cạnh việc phát triển Ưu nhược điểm 2.1 Ưu điểm - Tính đồng nhất: Khi nhiều người phát triển dự án không bị sai khác mặt mơi trường - Đóng gói: o Có thể ẩn mơi trường bao gồm app vào gói gọi container o Có thể test container o Việc bỏ hay tạo lại container dễ dàng - Linh động (tính quán): o Có thể test container dùng để phát triển CI o Có thể deploy container test CI lên server o Có thể scale container deploy 2.2 Nhược điểm - Tốn thời gian học tập o Đoạn đầu (chạy container) thoải mái cảm thấy làm chủ giới, nhiên nhanh chóng gặp nhiều vấn đề thực tế áp dụng vào mơi trường phát triển, câu hỏi "đoạn làm nhỉ?", hay "không biết cài đặt cách tốt nhỉ?" xuất địi hỏi kiến thức chun sâu 21 MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c o Trong đội phát triển khơng cần tất phải có kiến thức chuyên sâu Docker, nhiên cần người nắm vững kiến thức để giải vấn đề gặp phải - Công cần thiết để biết viết code môi trường gần không so với phát triển local 22 MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c VI Bảng phân công công việc STT Tên công việc Thành viên Công Phi Như Phước Thiện Phước Chuẩn bị, lên kế hoạch x x x Chuẩn bị nội dung x x x x x x x Soạn nội dung thuyết trình docker Quay video thuyết trình nội dung docker Quay video demo x Soạn nội dung báo cáo x x x Tỷ lệ công việc phân cơng 33% 33% 33% Mức độ hồn thành 100% 100% 100% 23 MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c MÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.cMÔN.CÔNG.NGHỆ.NET.đổ.tài.DOCKER.TRONG.c

Ngày đăng: 09/11/2023, 00:36

Xem thêm: