• About
  • Advertise
  • Privacy & Policy
  • Contact
NQ NEWS
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
  • Đời sống thường thức
    • Tất cả
    • Bí ẩn - Chuyện lạ
    • Câu chuyện Khoa học
    • Chăm sóc Nhà cửa
    • Chăm sóc Sức khỏe
    • Chụp ảnh - Quay phim
    • Cưới hỏi
    • Dịch vụ ngân hàng
    • Game - Trò chơi
    • Kỹ năng
    • Là gì?
    • Mẹo hay
    Ielts La Gi 640 1

    IELTS là gì? Những điều cần biết về IELTS

    Cài font chữ

    Kẻ ô ly vuông trong Word và in ô ly Word

    Vivo Y33s

    3 cách chụp ảnh đẹp trên Vivo Y33s với nhiều hiệu ứng, filter độc đáo

    cách xem tin nhắn đã thu hồi trên messenger trên điện thoại

    Cách xem tin nhắn đã thu hồi trên Messenger cho điện thoại Android

    Cách hẹn giờ gửi tin nhắn chúc mừng

    Cách hẹn giờ gửi tin nhắn chúc mừng trên điện thoại vào dịp đặc biệt

    cách nhập code Play Together

    Nhập Full Code Play Together MỚI NHẤT hôm nay nhận quà khủng 2022

    • Bí ẩn – Chuyện lạ
    • Câu chuyện Khoa học
    • Chăm sóc Nhà cửa
    • Chăm sóc Sức khỏe
    • Chụp ảnh – Quay phim
    • Cưới hỏi
    • Dịch vụ ngân hàng
    • Game – Trò chơi
    • Kỹ năng
  • Nhịp sống công nghệ
    • Tất cả
    • Ảnh đẹp Khoa học
    • Anh tài công nghệ
    • Ảnh, đồ họa
    • Bình luận công nghệ
    • Chuyện công nghệ
    • Công nghệ
    • Công nghệ mới
    • Dịch vụ công trực tuyến
    • Dịch vụ nhà mạng
    Cuoc Thi Bao Mat 700 1

    Hai chuyên gia bảo mật Việt Nam giành giải thưởng 40.000 USD trong cuộc thi tấn công mạng Pwn2Own 2021

    He Tri Thuc Viet So Hoa 650 1

    Trải nghiệm sử dụng itrithuc.vn – dự án hệ tri thức Việt được số hóa đầu tiên

    Viettel Kiem Tra Thong Tin Thue Bao 700 1

    Kiểm tra thông tin thuê bao Viettel như thế nào?

    Hang Dien Thoai Lon Nhat 640 1

    Danh sách những hãng smartphone lớn nhất thế giới (cập nhật liên tục)

    Ai Gpt 3 Cua Elon Musk Vua Viet Ca Mot Bai Xa Luan Gay Chan Dong Tren Bao Anh 640 1

    AI viết bài xã luận gây chấn động trên báo Anh, tuyên bố sẽ không hủy diệt loài người

    V120 Viettel Dang Ky 640 1

    Cách đăng ký gói V120 Viettel

    Youtube Da Ra Doi Nhu The Nao Doi Net Ve De Che Youtube640 1

    YouTube đã ra đời như thế nào? Đôi nét về ‘đề chế’ YouTube

    Apple Ung Dung Nhan Dien Airtag Tren Android700 1

    Apple phát hành ứng dụng nhận diện AirTag trên Android

    He Dieu Hanh Se Khong Con Co The Su Dung Whatsapp640 1

    Đây là những hệ điều hành không thể tải WhatsApp trong thời gian tới

Không có kết quả
Xem tất cả kết quả
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
  • Đời sống thường thức
    • Tất cả
    • Bí ẩn - Chuyện lạ
    • Câu chuyện Khoa học
    • Chăm sóc Nhà cửa
    • Chăm sóc Sức khỏe
    • Chụp ảnh - Quay phim
    • Cưới hỏi
    • Dịch vụ ngân hàng
    • Game - Trò chơi
    • Kỹ năng
    • Là gì?
    • Mẹo hay
    Ielts La Gi 640 1

    IELTS là gì? Những điều cần biết về IELTS

    Cài font chữ

    Kẻ ô ly vuông trong Word và in ô ly Word

    Vivo Y33s

    3 cách chụp ảnh đẹp trên Vivo Y33s với nhiều hiệu ứng, filter độc đáo

    cách xem tin nhắn đã thu hồi trên messenger trên điện thoại

    Cách xem tin nhắn đã thu hồi trên Messenger cho điện thoại Android

    Cách hẹn giờ gửi tin nhắn chúc mừng

    Cách hẹn giờ gửi tin nhắn chúc mừng trên điện thoại vào dịp đặc biệt

    cách nhập code Play Together

    Nhập Full Code Play Together MỚI NHẤT hôm nay nhận quà khủng 2022

    • Bí ẩn – Chuyện lạ
    • Câu chuyện Khoa học
    • Chăm sóc Nhà cửa
    • Chăm sóc Sức khỏe
    • Chụp ảnh – Quay phim
    • Cưới hỏi
    • Dịch vụ ngân hàng
    • Game – Trò chơi
    • Kỹ năng
  • Nhịp sống công nghệ
    • Tất cả
    • Ảnh đẹp Khoa học
    • Anh tài công nghệ
    • Ảnh, đồ họa
    • Bình luận công nghệ
    • Chuyện công nghệ
    • Công nghệ
    • Công nghệ mới
    • Dịch vụ công trực tuyến
    • Dịch vụ nhà mạng
    Cuoc Thi Bao Mat 700 1

    Hai chuyên gia bảo mật Việt Nam giành giải thưởng 40.000 USD trong cuộc thi tấn công mạng Pwn2Own 2021

    He Tri Thuc Viet So Hoa 650 1

    Trải nghiệm sử dụng itrithuc.vn – dự án hệ tri thức Việt được số hóa đầu tiên

    Viettel Kiem Tra Thong Tin Thue Bao 700 1

    Kiểm tra thông tin thuê bao Viettel như thế nào?

    Hang Dien Thoai Lon Nhat 640 1

    Danh sách những hãng smartphone lớn nhất thế giới (cập nhật liên tục)

    Ai Gpt 3 Cua Elon Musk Vua Viet Ca Mot Bai Xa Luan Gay Chan Dong Tren Bao Anh 640 1

    AI viết bài xã luận gây chấn động trên báo Anh, tuyên bố sẽ không hủy diệt loài người

    V120 Viettel Dang Ky 640 1

    Cách đăng ký gói V120 Viettel

    Youtube Da Ra Doi Nhu The Nao Doi Net Ve De Che Youtube640 1

    YouTube đã ra đời như thế nào? Đôi nét về ‘đề chế’ YouTube

    Apple Ung Dung Nhan Dien Airtag Tren Android700 1

    Apple phát hành ứng dụng nhận diện AirTag trên Android

    He Dieu Hanh Se Khong Con Co The Su Dung Whatsapp640 1

    Đây là những hệ điều hành không thể tải WhatsApp trong thời gian tới

Không có kết quả
Xem tất cả kết quả
NQ NEWS
Không có kết quả
Xem tất cả kết quả
Trang chủ Quản trị hệ thống

Windows Container, Docker trên Windows Server

@admiz bởi @admiz
03/05/2021
trong Quản trị hệ thống
0
Windows Container, Docker Trên Windows Server 60902c3829ece.png

Gần đây cả Docker và M$ đều thông báo là có thể chạy Docker Container trên Windows Server. Với mình đây là tin khá là shock vì trước giờ mình luôn cho rằng việc chạy Docker engine trực tiếp trên Windows (không thông qua máy ảo Linux) hoặc tạo một container với OS không phải là Linux là điều không thể. Thế nên mình quyết định là tìm hiểu xem nó là cái gì.

Trước khi bắt đầu thì quay ngược trở lại các phiên bản trước đây của Docker và xem thử một số mối liên hệ giữa Docker với Windows như thế nào.

Nội dung

  • 1 1. Giới thiệu
  • 2 2. Docker với Windows
  • 3 2.1 Docker client
  • 4 2.2 Docker Engine
  • 5 3. Windows Container vs Docker
  • 6 3.1 Windows Container
  • 7 3.2 Làm thế nào có thể tạo ra một container trên Windows
  • 8 3.3 Làm thế nào để có thể sử dụng Docker Engine trên Windows
  • 9 4. Kết luận

1. Giới thiệu

Về container thì nó không phải là một công nghệ mới (không phải do Docker phát minh ra mà nó đã có từ trước đó khá lâu rồi với các ứng dụng như chroot trên Linux, jails trên BSD, zone trên Solaris hoặc một công nghệ khá phổ biến là OpenVZ. Đặc điểm của container là share kernel giữa guest (container) và host (máy thật) nên tất nhiên OS của container và máy thật phải giống nhau.

Để có thể tạo ra container với đặc tính như: (thực ra các công nghệ ảo hóa cũng tương tự)

• Isolation (user, process, filesystem …)

• Limit resource (memory, cpu, I/O …)

• Security

• …

Trước phiên bản 0.9, Docker (engine) sử dụng LXC như một layer trung gian để giao tiếp với Kernel Linux. Kernel của Linux cung cấp một số tính năng giúp tạo container với các đặc tính trên như namespace, cgroups, Apparmor, SELinux … Kể từ sau phiên bản 0.9, Docker cung cấp một driver là libcontainer cho phép Docker engine giao tiếp trực tiếp xuống kernel của Linux mà không cần thông qua LXC (LXC là một tùy chọn)

Windows Container, Docker trên Windows Server  - Ảnh 1.

Như ta thấy là để có thể tạo ra một container có khả năng độc lập với máy thật, có thể giới hạn được tài nguyên và cung cấp tính bảo mật thì Docker cần Linux (cần các đặc tính của nhân Linux)

Windows Container, Docker trên Windows Server  - Ảnh 2.

2. Docker với Windows

Ta sẽ nói về 2 component cụ thể đó là docker client và docker engine.

2.1 Docker client

Có thể chạy Docker cli (Docker client) trên Windows.

Trong bài mình có giới thiệu là Docker sử dụng kiến trúc client-server.

Docker Client sẽ nói chuyện với Docker Engine thông qua một RESTful API, để thực thi các lệnh như build, ship và run một container.

Nên bản chất là Docker client hoàn toàn không phụ thuộc vào Linux. Mã nguồn của docker viết bằng Go, có thể compile ra binary và chạy trên Windows bình thường, xem thêm pull request.

2.2 Docker Engine

Ở những phiên bản đầu tiên, để có thể chạy Docker engine trên Windows bạn có thể sử dụng 2 cách

• Tự cài virtualbox, vmware, sau đó cài một máy ảo Linux (Ubuntu, CentOS) và cài Docker Engine lên máy ảo này

• Sử dụng boot2docker (tinycore), boot2docker sẽ làm hết cho bạn, kể cả việc giao tiếp từ Windows vào VM rồi vào trong container luôn

Ở phiên bản sau này (1.12), Docker cung cấp Docker cho cả Mac và Windows.

Điểm khác biệt là bạn không nhất thiết phải dùng VirtualBox. Đối với Mac thì Docker Engine sẽ chạy trên xhyve Virtual Machine (VM), xhyve là một giải pháp ảo hóa lightweight trên OSX. Đối với Windows thì Docker Engine chạy trên công nghệ ảo hóa của Windows là Hyper-V. Cả 2 đều dùng Alpine Linux, một distribution vô cùng nhỏ ngọn.

Tóm lại, để chạy Docker Engine với container là Linux trên Windows thì kiểu gì ta cũng phải chạy qua máy ảo.

3. Windows Container vs Docker

Trong phần này, mình muốn giải quyết và trả lời 3 vấn đề:

• Windows Container là gì?

• Làm thế nào có thể tạo ra một container Windows (không phải là Linux như ở đầu bài nói).

• Làm thế nào để có thể sử dụng Docker Engine trên Windows (Docker engine có thể quản lý các Windows Container)

3.1 Windows Container

Trong phần quick_start, M$ giới thiệu Windows container tương tự các đặc tính của container ở trên mục [1], nghĩa là nó cũng isolated, cũng limit resource và tạo ra một môi trường portable.

Windows Container được chia làm 2 loại:

• Windows Server Containers: Cung cấp một môi trường độc lập cho ứng dụng với kĩ thuật namespace isolation. Windows Server Container sẽ share kernel với máy thật (host) và với tất cả các container khác

• Hyper-V Containers: mở rộng cơ chế isolation được cung cấp bởi Windows Server Containers bằng cách chạy mỗi container trên một máy ảo (VM) được tối ưu. Tất nhiên khi đã chạy container trên máy ảo thì kernel của Hyper-V Container không nhất thiết phải share với máy thật. (Mỗi hyper-v container sẽ được chạy trên một máy ảo, 10 container thì có 10 máy ảo, chưa rõ là OS cho máy ảo là gì)

Tóm lại: Windows Container mang đặc tính của container, và tất nhiên container guest và host phải share kernel với nhau. Windows Container sẽ chạy OS là Windows và đồng nghĩa là nó share kernel Windows với máy chủ.

3.2 Làm thế nào có thể tạo ra một container trên Windows

Để có thể chạy một container Windows thì OS của container và OS của host phải giống nhau. Ở đây tất nhiên OS của cả hai đều là Windows.

Nhưng vấn đề là để có thể cung cấp khả năng isolated và limit resource thì ta cần ít nhất 2 tính năng được hỗ trợ bởi kernel Linux đó là namespace và cgroups HOẶC Windows phải làm cách nào đó để hỗ trợ tính năng nào đó có chức năng tương tự vào kernel của mình.

Theo tài liệu của M$ thì khả năng là các tính năng này mới được thêm vào từ phiên bản Windows 10 và Windows Server 2016

Windows Container, Docker trên Windows Server  - Ảnh 3.

Từ hình này mình đoán rằng M$ đã phát triển thêm một số tính năng cho kernel Windows tương tự kernel Linux để hỗ trợ việc tạo Container. Job object có chức năng tương tự cgroups cho việc giới hạn tài nguyên, Object Namespace, Process Table, Networking tương tự với namespacecho việc isolation ….

3.3 Làm thế nào để có thể sử dụng Docker Engine trên Windows

Docker Engine sẽ giúp chúng ta các tác vụ liên quan đến việc quản lý các đối tượng trong hệ sinh thái container như container, image, volume, network. Nói chung khi tay chạy các lệnh docker run, docker build, docker ps thì docker client sẽ giao tiếp với docker engine để trả về cho ta các tác vụ tương ứng.

Docker Engine viết bằng Go, nên cũng có thể build ra binary và chạy trên Windows được. Vấn đề là chỉ cần Kernel hỗ trợ các tính năng tương tự Linux là được. Vấn đề này đã được M$ chủ động giải quyết trong kernel của họ, như mục 3.2 mình có giải thích. Đây là hợp tác giữa Docker Inc. và M$.

Đến đây thì phát sinh một số câu hỏi:

• Docker engine cho Linux và Windows là chung một source code hay là hai dự án độc lập.

• Kernel Windows đã hỗ trợ tốt các tính năng cgroup, namespace, unionfs như Linux chưa. Nếu Docker engine chung source code thì liệu code có phình ra thêm hay không?

Mình không tìm được câu trả lời nhưng cá nhân mình nghĩ khả năng cao là Docker Engine cho 2 platform này đều dùng chung source code. Nếu chung source code thì sẽ có thể phát sinh các vấn đề như:

• Hai nền tảng khác nhau, nên khả năng không thể hỗ trợ tốt cả 2 nền tảng như nhau được

• Code phình ra và có thể không handle tốt vì M$ mới phát triển các tính năng để hỗ trợ container

4. Kết luận

Container là công nghệ mà container guest và container host phải share kernel với nhau. Nên dù là Windows Container hay Linux Container thì guest và host phải giống nhau về OS. Nghĩa là Windows container chỉ chạy trên host Windows, Linux container chỉ chạy trên host Linux.

• Việc Docker hỗ trợ Windows Container làm phong phú thêm hệ sinh thái Container. Tuy nhiên nếu tích hợp chung codebase thì có thể làm mọi thứ trở nên phức tạp hơn

• Từ phiên bản 1.12 với việc tích hợp sẵn tính năng orchestration vào  Docker Engine, Docker gặp khá nhiều phản ứng không tốt từ cộng đồng.

Theo kipalog.com

>> Tham khảo thêm: Sở hữu Docker Image đầu tiên

Kể từ ngày 05/11/2018, VCCloud chính thức đổi tên thành NQ Computing – là nhà cung cấp các dịch vụ đám mây hàng đầu tại Việt Nam hiện nay với các dịch vụ nổi bật như: NQ Computing Server, NQ News CDN, NQ News Load Balancer, NQ News Pre-built Application, NQ News Business Mail, NQ News Simple Storage. Hãy tăng tốc thích nghi cho doanh nghiệp cùng các giải pháp công nghệ của NQ Computing tại đây.

Post Views: 54

Có thể bạn quan tâm bài viết

Quicktime Player Logo650 1
macOS

Cách ghép video trên macOS bằng QuickTime Player

26/12/2021
Kali Linux 2021 4 700 1
Linux

Kali Linux 2021.4: Thêm 9 công cụ mới và hỗ trợ tốt hơn cho Apple M1

26/12/2021
Openbsd La Gi 1
Linux

OpenBSD là gì? Đây là mọi thứ bạn cần biết về hệ điều hành này!

26/12/2021
Mac Os Xoa Ung Dung Cai Dat Logo640 1
macOS

Cách gỡ, xóa ứng dụng trên Mac OS

26/12/2021
Tim Thu Vien Anh Photos Library Tren May Mac700 1
macOS

Hướng dẫn tìm thư viện ảnh Photos Library trên máy Mac

26/12/2021
So Sanh Macbook Pro Macbook Air Va Ipad Pro 1
macOS

So sánh MacBook Pro 13 inch với MacBook Air và iPad Pro

26/12/2021

Bài mới nhất

Thiết Kế Website Xuất Khẩu Lao động, đi Du Học Chuyên Nghiệp, Giá Rẻ 612d08e0cb2c2.jpeg

Thiết kế website xuất khẩu lao động, đi du học chuyên nghiệp, giá rẻ

03/02/2023
Thiết Kế Website Bán Mắt Kính Uy Tín Và Thời Thượng Nhất Hiện Nay 612d0a181fc93.jpeg

Thiết kế website bán mắt kính uy tín và thời thượng nhất hiện nay

03/02/2023
Yoast Seo Là Gì? Hướng Dẫn Cấu Hình Yoast Seo Trên Website Hiệu Quả 612d069c83e87.png

Yoast SEO là gì? Hướng dẫn cấu hình Yoast SEO trên website hiệu quả

02/02/2023
Woocommerce Là Gì? Hướng Dẫn Cài đặt Và Sử Dụng Woocommerce Hiệu Quả 612d06a3a6dc1.jpeg

Woocommerce là gì? Hướng dẫn cài đặt và sử dụng Woocommerce hiệu quả

02/02/2023
Tổng Hợp Các Lỗi Bảo Mật Website Thường Gặp Nhất Và Cách Khắc Phục 612d0678b7942.jpeg

Tổng hợp các lỗi bảo mật website thường gặp nhất và cách khắc phục

01/02/2023

Categories

  • Android
  • Ảnh đẹp Khoa học
  • Anh tài công nghệ
  • Ảnh, đồ họa
  • Bảo mật máy tính
  • Bảo mật, Antivirus
  • Bí ẩn – Chuyện lạ
  • Bình luận công nghệ
  • Câu chuyện Khoa học
  • Chăm sóc Nhà cửa
  • Chăm sóc Sức khỏe
  • Chụp ảnh – Quay phim
  • Chuyện công nghệ
  • Công nghệ
  • Công nghệ mới
  • Cưới hỏi
  • Deep Learning
  • Development
  • Dịch vụ công trực tuyến
  • Dịch vụ ngân hàng
  • Dịch vụ nhà mạng
  • DIY – Handmade
  • Đời sống thường thức
  • Game – Trò chơi
  • Giải pháp bảo mật
  • Giải trí
  • Giáng sinh – Noel
  • Giao tiếp, liên lạc, hẹn hò
  • Hệ thống
  • Hệ thống
  • Hỗ trợ học tập
  • Họp, học trực tuyến
  • Internet
  • iPhone
  • Khám phá khoa học
  • Khám phá thiên nhiên
  • Khoa học công nghệ
  • Khoa học Vũ trụ
  • Khoa học vui
  • Kiến thức bảo mật
  • Kiến thức căn bản
  • Kiến thức cơ bản
  • Kiến thức tổng hợp
  • Kinh nghiệm Du lịch
  • Kỹ năng
  • Là gì?
  • Làm đẹp
  • Lập trình
  • Linux
  • Linux OS
  • Lưu trữ đám mây
  • macOS
  • Mail Server
  • Mạng LAN – WAN
  • Máy ảo
  • Máy chủ
  • Máy công cụ
  • Máy hút mùi
  • Mẹo hay
  • Mẹo vặt
  • ms excel
  • ms-powerpoint
  • Nền tảng điện toán đám mây
  • Nhà thông minh
  • Phần cứng
  • Phần cứng
  • Phần Mềm
  • Phân phối
  • Quà tặng
  • Quản trị hệ thống
  • Quạt các loại
  • Quiz công nghệ
  • Raspberry Pi
  • Sửa lỗi máy tính
  • Tải game
  • Tấn công mạng
  • Tăng tốc máy tính
  • Tết 2022
  • Tết Trung thu
  • Thủ thuật
  • Thủ thuật SEO
  • Thủ thuật Wifi
  • Tiện ích hệ thống
  • Tin học văn phòng
  • Tin tức
  • Tivi
  • Trí tuệ nhân tạo (AI)
  • Tủ lạnh
  • Uncategorized
  • Ứng dụng
  • Ứng dụng văn phòng
  • Video Khoa học
  • Video, phim, nhạc
  • Website
  • Windows Server 2012

Tags

#app #chatbot #chatbot tự động #CRM #Email Marketing #Kiến thức cơ bản #Techblog #Thiết kế website Android apple cách chơi Pokémon Go Gmail Google Google Drive hacker HTML hàm python hàm python có sẵn hình nền máy tính học css học python học SQL ios iphone iphone 12 Microsoft minecraft mssql MS SQL Server Pokémon Go PUBG Mobile python Raspberry Pi Samsung smartphone SQL Server thiết bị số tivi tài liệu python windows windows 10 YouTube điện thoại di động điện thoại thông minh ứng dụng
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2022 Pha Le Solution

Không có kết quả
Xem tất cả kết quả
  • Home

© 2022 Pha Le Solution

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?