[ad_1]
Docker Desktop là một giải pháp chứa phổ biến, gói mọi thứ bạn cần để tạo hình ảnh và chạy các vùng chứa. Một bản tải xuống cung cấp cho bạn Docker, Docker Compose, Kubernetes, GUI toàn diện và hỗ trợ cho nhiều lựa chọn tiện ích mở rộng của bên thứ ba.
Docker Desktop trước đây chỉ giới hạn trong các hệ thống Windows và Mac. Người dùng Linux đã phải cài đặt Docker Engine theo cách thủ công và tương tác với nó từ thiết bị đầu cuối hoặc giao diện người dùng riêng biệt. Docker đã công bố phiên bản Desktop dành cho Linux tại DockerCon 2022, cuối cùng cung cấp tính năng tương đương trên cả ba nền tảng chính. Hướng dẫn này sẽ chỉ cho bạn cách thiết lập và bắt đầu.
Chuẩn bị chạy Docker Desktop
Các bước trong bài viết này đã được thử nghiệm trong môi trường Ubuntu 22.04 sạch. Máy tính để bàn cũng được hỗ trợ trên Ubuntu 21.10, Debian 11 và Fedora 35/36. Tài liệu về phân phối cụ thể có sẵn trên trang web của Docker.
Máy tính để bàn yêu cầu hệ thống 64 bit với 4 GB RAM và bật ảo hóa phần cứng KVM. Mô-đun hạt nhân KVM thường được bật tự động khi máy chủ của bạn hỗ trợ ảo hóa. Bạn có thể kiểm tra bằng cách chạy kvm-ok
yêu cầu:
$ kvm-ok INFO: /dev/kvm exists KVM acceleration can be used
Bật ảo hóa trong BIOS hoặc UEFI của hệ thống của bạn nếu kvm-ok
báo lỗi. Bạn cũng có thể thử tải mô-đun hạt nhân KVM theo cách thủ công bằng cách sử dụng modprobe
:
# 1/2 $ sudo modprobe kvm # 2/2 INTEL ONLY $ sudo modprobe kvm_intel # 2/2 AMD ONLY $ sudo modprobe kvm_amd
Docker Desktop không được thiết kế để chạy cùng với Docker Engine. Bạn nên dừng dịch vụ Docker nếu bạn đã sử dụng Docker Engine trên máy của mình. Điều này sẽ giảm tiêu thụ tài nguyên và giảm thiểu nguy cơ xung đột giữa Engine và Desktop.
$ sudo service docker stop
Cài đặt Docker Desktop
Gói Docker Desktop chưa có sẵn trong các kho lưu trữ, vì vậy nó phải được mua theo cách thủ công. Tải xuống gói phù hợp cho hệ điều hành của bạn bằng cách sử dụng các liên kết trong tài liệu.
$ wget https://desktop.docker.com/linux/main/amd64/docker-desktop-4.12.0-amd64.deb
Gói Docker Desktop phụ thuộc vào các gói khác từ kho lưu trữ Docker. Mặc dù bản thân Máy tính để bàn không được cài đặt từ kho lưu trữ, bạn vẫn cần nó trong danh sách nguồn của mình để các phần phụ thuộc có thể được giải quyết. Chạy chuỗi lệnh sau để thêm kho lưu trữ Apt của Docker vào máy của bạn:
$ sudo apt update $ sudo apt-get install -y ca-certificates curl gnupg lsb-release # Download the GPG key used to sign the packages in the repository $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # Add the repository to your package sources list $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null $ sudo apt update
Bây giờ bạn có thể cài đặt gói Desktop với Apt’s install
yêu cầu:
$ sudo apt install -y ./docker-desktop-4.12.0-amd64.deb
Docker Desktop bây giờ sẽ xuất hiện trong danh sách ứng dụng của bạn.
Sử dụng Docker Desktop
Khởi động Docker Desktop từ trình khởi chạy ứng dụng của hệ điều hành của bạn. Bạn sẽ thấy biểu tượng cá voi Docker xuất hiện trong khay hệ thống của mình. Nhấp vào biểu tượng sẽ hiển thị menu khay của Docker.
Quá trình khởi chạy lần chạy đầu tiên có thể mất vài phút để hoàn thành. Hoạt ảnh của biểu tượng sẽ dừng lại và dòng trạng thái ở đầu menu sẽ chuyển thành “Docker Desktop đang chạy” khi Docker sẵn sàng sử dụng. Nhấp vào mục “Trang tổng quan” ở đầu menu để mở giao diện người dùng nếu giao diện người dùng không tự động xuất hiện.
Bạn sẽ được nhắc chấp nhận các điều khoản dịch vụ và sau đó sẽ được đưa đến màn hình Vùng chứa. Bạn có thể tùy chọn đăng nhập vào Docker Hub bằng cách nhấp vào nút Đăng nhập trên thanh tiêu đề và làm theo lời nhắc.
Thử chạy docker
và docker compose
trong thiết bị đầu cuối của bạn để kiểm tra CLI có sẵn:
$ docker version Client: Docker Engine - Community Cloud integration: v1.0.29 Version: 20.10.18 ... $ docker compose version Docker Compose version v2.10.2
Tiếp theo, bắt đầu một vùng chứa để xác minh cài đặt của bạn đang hoạt động:
$ docker run -d -p 80:80 docker/getting-started
Vùng chứa mới của bạn sẽ hiển thị trong Giao diện người dùng Docker Desktop. Nhấp vào biểu tượng ba chấm ở bên phải của bảng sẽ hiển thị danh sách các hành động bạn có thể thực hiện trong Docker Desktop, chẳng hạn như mở một thiết bị đầu cuối bên trong vùng chứa hoặc truy cập các cổng đã xuất bản trong trình duyệt của bạn.
Tab Hình ảnh ở bên trái màn hình cung cấp một bảng gồm tất cả các hình ảnh vùng chứa có trên máy chủ của bạn. Các điều khiển có sẵn để xóa các hình ảnh không sử dụng, nhanh chóng bắt đầu một vùng chứa mới từ một hình ảnh và đẩy và kéo hình ảnh giữa các đăng ký khác nhau.
Bạn có thể biết thêm thông tin về cách sử dụng Docker Desktop trong tài liệu. Chức năng bao gồm nhiều docker
Các lệnh CLI trong khi phân lớp trong các khái niệm cấp cao hơn bổ sung, chẳng hạn như Môi trường dành cho nhà phát triển để chia sẻ mã trong quá trình làm việc.
Kích hoạt Kubernetes
Docker Desktop đã tích hợp hỗ trợ Kubernetes nhưng nó không được bật theo mặc định. Bật nó lên bằng cách nhấp vào biểu tượng bánh răng cài đặt trên thanh tiêu đề của ứng dụng, sau đó chọn “Kubernetes” từ menu bên trái.
Chọn hộp kiểm “Bật Kubernetes” và nhấn nút “Áp dụng & Khởi động lại” ở dưới cùng bên phải. Có thể mất vài phút để Docker có được các thành phần Kubernetes và tạo cụm của bạn. Biểu tượng trạng thái Kubernetes sẽ xuất hiện ở phía dưới bên trái của ứng dụng, bên cạnh biểu tượng Docker. Nó sẽ chuyển sang màu xanh khi Kubernetes sẵn sàng sử dụng. Trạng thái Kubernetes cũng được hiển thị ở đầu trình đơn khay của Docker Desktop.
Tiếp theo cài đặt Kubectl. Đây là CLI được sử dụng để tương tác với cụm Kubernetes của bạn. Gói Snap chính thức là cách dễ nhất để thêm nó vào Ubuntu:
$ sudo snap install kubectl
Bây giờ hãy thử sử dụng Kubectl để truy cập cụm của bạn:
$ kubectl get nodes NAME STATUS ROLES AGE VERSION docker-desktop Ready control-plane 22m v1.25.0
Các docker-desktop
nút hiển thị là Ready
để bạn có thể bắt đầu tạo Nhóm:
$ kubectl run nginx --image nginx:latest pod/nginx created
Phơi bày Pod của bạn với một dịch vụ:
$ kubectl expose pod/nginx --port 80 --type NodePort service/nginx exposed
Bây giờ hãy tìm cổng máy chủ đã được phân bổ cho dịch vụ:
$ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23m nginx NodePort 10.96.132.212 <none> 80:30107/TCP 75s
Số cổng là 30107
. Sử dụng cổng này để truy cập dịch vụ của bạn và truy xuất trang đích NGINX mặc định:
$ curl http://localhost:30107 <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title>
Cụm Kubernetes của bạn đã hoạt động đầy đủ. Nó sẽ tự động bắt đầu bất cứ khi nào Docker Desktop đang chạy.
Docker Desktop so với Docker Engine
Docker Engine hoàn toàn tách biệt với Docker Desktop. Docker Engine khởi chạy các vùng chứa dưới dạng các quy trình trực tiếp trên máy chủ của bạn. Nó sử dụng một dịch vụ hệ thống để chạy trình nền Docker. Các docker
CLI nhắm mục tiêu cá thể daemon này khi bạn ra lệnh.
Docker Desktop chạy các vùng chứa của bạn bên trong một máy ảo QEMU. Bạn không cần phải tương tác trực tiếp với QEMU vì việc tạo và quản lý máy ảo được xử lý cho bạn. Khởi chạy Docker Desktop sẽ tự động khởi động VM; thoát ứng dụng sẽ tắt nó.
Kiến trúc VM là một điều cần thiết để chạy Docker trên các hệ thống Windows và Mac. Nó cung cấp một môi trường có thể đoán trước để lưu trữ các vùng chứa Linux. Nhóm Docker quyết định tiếp tục sử dụng VM cho Máy tính để bàn trên Linux để ngăn chặn sự mâu thuẫn phát sinh giữa các nền tảng.
Mặc dù VM không ảnh hưởng đến việc sử dụng Docker hàng ngày, nhưng đó là một giải pháp nặng hơn, đòi hỏi nhiều tài nguyên hơn Docker Engine. Bạn có thể mong đợi máy ảo tiêu thụ khoảng 2 GB RAM khi không hoạt động, ngay cả khi không có bộ chứa nào đang chạy. Mức tiêu thụ bộ nhớ của Docker Engine sẽ không đáng kể trong tình huống tương tự.
Điều này có nghĩa là Docker Engine vẫn là cách tốt nhất để chạy vùng chứa trên Linux trong môi trường sản xuất hoặc bất cứ nơi nào hiệu suất là quan trọng. Máy tính để bàn là một lựa chọn tuyệt vời cho các nhà phát triển muốn sử dụng cùng một quy trình làm việc được tích hợp đầy đủ như các đồng nghiệp trên Windows và Mac. Máy tính để bàn cũng là lựa chọn tốt nhất khi bạn muốn sử dụng Kubernetes mà không cần thêm bất kỳ công cụ bổ sung nào. Bạn sẽ cần một môi trường Kubernetes chuyên dụng như Minikube hoặc MicroK8s nếu bạn đang sử dụng Docker Engine.
Cấu hình Docker Daemon của Desktop
Bạn có thể tùy chỉnh cấu hình daemon Docker được Máy tính để bàn sử dụng bằng cách nhấp vào biểu tượng bánh răng cài đặt trên thanh tiêu đề và chuyển đến tab “Docker Engine” ở bên trái màn hình.
Nhập hoặc dán các thay đổi của bạn vào mục nhập được cung cấp, sau đó nhấn “Áp dụng & Khởi động lại” ở góc dưới cùng bên phải.
Tùy chỉnh giới hạn tài nguyên
Docker Desktop tự động giới hạn tài nguyên mà máy ảo của nó có thể tiêu thụ. Giá trị mặc định là một nửa tổng số lõi bộ xử lý có sẵn, 25% bộ nhớ hệ thống của bạn và tệp hoán đổi 1 GB.
Các giới hạn này có thể được thay đổi bằng cách chuyển đến màn hình cài đặt của Docker Desktop và nhấp vào tab “Tài nguyên” trong menu bên trái. Sử dụng các thanh trượt để tùy chỉnh giới hạn cho từng tài nguyên. Bạn có thể thay đổi kích thước đĩa ảo được sử dụng để lưu trữ dữ liệu của máy ảo bằng cách cuộn xuống màn hình. Nhấp vào nút “Áp dụng & Khởi động lại” ở dưới cùng bên phải khi bạn hoàn tất.
Bản tóm tắt
Docker Desktop là một giải pháp chứa định hướng dành cho nhà phát triển kết hợp docker
CLI với GUI đa năng và hỗ trợ Kubernetes tích hợp. Sự xuất hiện của máy tính để bàn trên Linux có nghĩa là các nhóm phát triển có thể chuẩn hóa trên một chuỗi công cụ nhất quán, bất kể sở thích nền tảng của từng kỹ sư.
Docker Desktop tốt nhất được xem như một giải pháp thay thế cho Docker Engine. Nó cung cấp môi trường vùng chứa của riêng mình, bao gồm một Docker Engine được ảo hóa và một bộ đầy đủ các Docker CLI. Bạn không thể sử dụng GUI dành cho máy tính để bàn với cài đặt Docker Engine hiện có. Máy tính để bàn được áp dụng nhiều nhất cho các máy trạm của nhà phát triển trong khi Docker Engine nên được sử dụng trên các máy chủ sản xuất, nơi bạn không cần giao diện đồ họa và muốn tránh chi phí chạy máy ảo.
[ad_2]