Video: Docker Networking Tutorial | Container Network Model | Docker Tutorial For Beginners | Simplilearn (Tháng mười một 2024)
Docker là một nền tảng nguồn mở để xây dựng, quản lý và chạy các ứng dụng trong các thùng chứa ảo trên các máy chủ Linux. Các thùng chứa này là các không gian ảo được tạo bằng ảo hóa hệ điều hành trong nhân Linux, nơi các tài nguyên được phân lập. Chúng khác với các dịch vụ PaaS như Microsoft Azure hoặc Amazon EC2, cung cấp các máy chủ ảo được gọi là phiên bản máy chủ. Thay vào đó, hãy nghĩ về Docker như một cách để cung cấp các phiên bản người dùng.
Do các container bị cô lập này, Docker cho phép các nhà phát triển và quản trị viên hệ thống cung cấp các ứng dụng phân tán hiệu quả, được quản lý tập trung và bảo mật. Hiệu suất, nhiều tuyên bố, thậm chí còn nhanh nhẹn và nhẹ hơn so với các máy chủ ảo. Dự án cộng đồng nguồn mở đang thu hút người hâm mộ nguồn mở cũng như các công ty công nghệ lớn như Red Hat, Microsoft và Rackspace, tất cả đều đã công bố kế hoạch hoặc đã đưa ra một số hình thức tương tác giữa Docker và các dịch vụ của họ.
Các quản trị viên hệ thống, đặc biệt là những người dành phần lớn sự nghiệp của họ để quản lý cơ sở hạ tầng Windows cỡ nhỏ đến trung bình, có thể khó hiểu chính xác những gì Docker có thể làm cho họ và các hệ thống họ quản lý. Vì vậy, chúng tôi đã nói chuyện với một quản trị viên hệ thống dày dạn, cũng là một người dùng Docker nhiệt tình, Kelsey Hightower, một nhà tư vấn làm việc với nhiều công ty mới khởi nghiệp như CoreOS, vận chuyển một sản phẩm dựa trên Docker.
PCMag: Làm thế nào để bạn và tổ chức của bạn hiện đang sử dụng Docker?
Hightower: Docker được tích hợp vào hệ điều hành và là phương thức chính để chạy các ứng dụng. Không có trình quản lý gói hoặc thời gian chạy cục bộ, không có Java, Python, Ruby hoặc Perl. Chúng tôi giúp các nhà cung cấp dịch vụ Nền tảng xây dựng các dịch vụ dựa trên Docker của họ. CoreOS cung cấp các công cụ bổ sung để giúp quản lý các container Docker.
PCMag: Bạn có thể cung cấp một vài trường hợp sử dụng "thế giới thực" cho Docker không?
Hightower: Hầu hết các công ty đang sử dụng Docker để thay thế cho bao bì ứng dụng phức tạp. Ví dụ: nếu bạn có một ứng dụng Java, bạn sẽ cần một JVM và rất có thể là một thùng chứa ứng dụng, yêu cầu các phiên bản khác nhau của JVM và Tomcat. Để đơn giản hóa mọi thứ, Docker được sử dụng để tạo một thùng chứa với phiên bản phù hợp của Java, Tomcat và các phụ thuộc ứng dụng khác. Không còn xung đột!
Docker được sử dụng để thử nghiệm tự động và CI (Tích hợp liên tục). Các thùng chứa Linux (được quản lý bởi Docker) được xây dựng và khởi chạy nhanh hơn nhiều so với các đối tác VM của chúng. Bây giờ trong môi trường thử nghiệm, chúng tôi sẽ khởi chạy cơ sở dữ liệu, môi giới tin nhắn và các dịch vụ khác mà ứng dụng của chúng tôi phụ thuộc vào trước khi chạy thử nghiệm tích hợp. Điều này cải thiện chất lượng thử nghiệm vì chúng tôi hiện đang thử nghiệm so với thực tế.
Docker giúp dễ dàng thiết lập môi trường phát triển giống như sản xuất. Trên một máy chủ Docker duy nhất, các nhà phát triển của tôi có thể dễ dàng quay vòng tất cả các thành phần đang chạy trong sản xuất bao gồm cơ sở dữ liệu, máy chủ bộ đệm, v.v. Tương tự như thử nghiệm với Docker, chất lượng phát triển được cải thiện do có quyền truy cập vào môi trường thực để chống lại. khả năng chạy nhiều container trên một máy ảo, tôi có thể cung cấp cho mỗi nhà phát triển môi trường riêng của họ.
PCMag: Bạn nghĩ đường cong học tập của các quản trị viên hệ thống không mã hóa hoặc sử dụng dòng lệnh nhiều đến mức nào?
Hightower: Ở mức cao, nếu bạn có thể bắt đầu và dừng dịch vụ Windows hoặc UNIX từ dòng lệnh, thì bạn có đủ nền tảng để bắt đầu sử dụng Docker.
Tuy nhiên, vẫn cần xem xét sâu hơn về Docker như một công cụ để xây dựng và chia sẻ các thùng chứa Linux và để quản lý chúng.
Lời khuyên và gợi ý
Hightower cũng cung cấp một vài gợi ý và lời khuyên cho các quản trị viên hệ thống về việc khởi động và chạy với Docker:
Tạo một thùng chứa Linux với Docker:
Cấp độ kỹ năng: Trung cấp. Nên có kinh nghiệm xây dựng các gói phần mềm như Linux RPM, MSI hoặc các gói ứng dụng đơn giản như tệp zip và tar.
Mẹo: Tạo một thùng chứa Linux bằng Docker khá đơn giản. Tất cả những gì bạn cần là một thiết lập Docker hoạt động và Dockerfile, đây là một tài liệu văn bản chứa tất cả các lệnh bạn thường thực hiện thủ công để xây dựng hình ảnh Docker.
Quản lý Container Linux với Docker:
Cấp độ kỹ năng: Sơ cấp.
Mẹo: Công cụ dòng lệnh Docker là cách phổ biến nhất để phân phối, bắt đầu và dừng các thùng chứa Linux. Hầu hết các quản trị viên hệ thống thoải mái khi sử dụng dòng lệnh sẽ không gặp vấn đề gì khi sử dụng CLI của Docker. Một vấn đề lớn ở đây là trình nền Docker không chạy tự nhiên trên Windows hoặc Mac OS X, một máy chủ Docker chạy Linux là bắt buộc. Hầu hết mọi người chọn chạy máy chủ Docker trong máy ảo cục bộ bằng Boot2Docker hoặc trên đám mây (với EC2, Google Computer, v.v.) Hightower nói: "Cá nhân tôi chạy CoreOS trên VMware Fusion trên máy Mac của tôi. trong 5 phút. Khi máy chủ Docker hoạt động, các công cụ Docker CLI sẽ hoạt động tốt trên Windows và Linux. "
Hightower cũng khuyên rằng bây giờ Docker 1.0 không hoạt động, chúng tôi có thể sẽ thấy nhiều công cụ dựa trên GUI hơn được cung cấp. Ông cũng khuyên bạn nên xem Tutum.co, một giải pháp Docker được lưu trữ giúp làm việc với các container Docker liền mạch.