Hướng dần cài đặt phần mềm Docker command trong WSL2

shape
shape
shape
shape
shape
shape
shape
shape
Hướng dần cài đặt phần mềm Docker command trong WSL2

Giới thiệu

Bài viết này hướng dẫn bạn cách cài đặt Docker trực tiếp trong Windows Subsystem for Linux 2 (WSL 2) mà không cần sử dụng Docker Desktop. Mình đã tổng hợp để bạn có thể làm nhanh chóng, chỉ yêu cầu một số dòng lệnh shell đơn giản. Điều này giúp tận dụng tối đa khả năng của WSL 2 và Docker, đồng thời giảm bớt sự phụ thuộc vào Docker Desktop.

Lợi ích của việc cài đặt Docker trong WSL 2 là gì?

Cài đặt Docker trực tiếp trong WSL 2 mang lại nhiều lợi ích. Đầu tiên, quá trình này rất nhanh chóng, giúp tiết kiệm thời gian và công sức. Thứ hai, Docker khi cài đặt trực tiếp trong WSL 2 tương thích với nhiều distro Linux, tạo điều kiện thuận lợi cho việc sử dụng và tùy chỉnh.

Ngoài ra, việc cài đặt Docker trong WSL 2 còn cho phép bạn chạy Kubernetes trực tiếp trong WSL 2 nếu bạn chọn sử dụng KinD hoặc bất kỳ công cụ nào khác cho phép bạn chạy một cụm Kubernetes mà không cần Docker Desktop. Điều này mở rộng khả năng của WSL 2 và Docker, đồng thời tạo điều kiện cho việc triển khai và quản lý các ứng dụng container hóa.

Có thể nó hơi rối, nhưng đơn giản là WSL sẽ giúp bạn chạy máy ảo linux trong môi trường windows.

Tại sao nên cài đặt Docker trực tiếp trong WSL 2 mà không cần Docker Desktop?

 => sẽ có một số lỗi về định dạng file, hay cơ bản là docker được thiết kế để chạy trên linux là chính. Thêm vào đó, vấn đề bản quyền đối với các doanh nghiệp lớn, nên bạn cần phải làm quen với dạng command của Docker.

Bước 1: Gỡ cài đặt Docker Desktop

Đầu tiên, bạn cần gỡ cài đặt Docker Desktop. Bạn cần làm vì chúng ta sẽ cài đặt Docker trực tiếp trong WSL 2 và không cần Docker Desktop nữa. Ngoài ra, bạn cũng nên xóa các liên kết mà Docker đã thêm vào WSL 2 để tránh bất kỳ sự nhầm lẫn nào trong quá trình cài đặt.

Bước 2: Cài đặt WSL2

Mình thường hay sử dụng Ubuntu. Nên mình hướng dẫn cách cài đặt distro này.

  1. Cài đặt WSL: Mở PowerShell với quyền quản trị (Run as Administrator) và chạy lệnh sau:

wsl --set-default-version 2

Nếu bạn nhận được một thông báo lỗi rằng WSL 2 yêu cầu cập nhật hệ điều hành, hãy làm theo các hướng dẫn trong thông báo để kích hoạt các tính năng máy ảo.

  1. Cài đặt Ubuntu: Mở Microsoft Store, tìm kiếm "Ubuntu", và cài đặt phiên bản Ubuntu bạn muốn (ví dụ: Ubuntu 20.04 LTS).
  2. Khởi động Ubuntu: Sau khi cài đặt, hãy mở Ubuntu từ menu Start. Lần đầu tiên bạn khởi động, nó sẽ hoàn thành việc cài đặt.
  3. Tạo người dùng mới: Bạn sẽ được yêu cầu tạo một tên người dùng mới và mật khẩu. Những thông tin này sẽ được sử dụng cho tài khoản superuser và tài khoản người dùng mặc định trong Ubuntu.
  4. Cập nhật và nâng cấp Ubuntu: Cuối cùng, bạn nên cập nhật và nâng cấp các gói phần mềm Ubuntu. Mở terminal Ubuntu và chạy các lệnh sau:
sudo apt update
sudo apt upgrade

Và đó là tất cả! Bạn đã cài đặt thành công WSL2 Ubuntu trên Windows.

Làm thế nào để cài đặt Docker và Docker Compose v2 trong WSL 2?

Bước 3: Cài đặt Docker / Docker Compose v2 trong WSL 2

Tiếp theo, chúng ta sẽ cài đặt Docker và Docker Compose v2 trong WSL 2. Đây là các lệnh cụ thể bạn cần chạy:

# Cài đặt docker, nếu có thông báo gì bạn cứ bình tĩnh coi, còn nếu kêu bạn chờ 20s thì cứ chờ đừng nôn nóng
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Thêm quyền user và docker
sudo usermod -aG docker $USER

# Cài đặt Compose v2
sudo apt-get update && sudo apt-get install docker-compose-plugin
# Nếu bạn nào muốn cài đặt docker-compose v1 thì dùng:
sudo apt-get install docker-compose # Kiểm tra xem đã cài đặt được chưa docker --version docker compose version
# Nếu bạn đang Ubuntu 22.04 or Debian 10 / 11? Bạn cần phải thêm vào bước này để iptables không tự động stop service của bạn Lưu ý bạn phải chọn (1) để sử dụng iptables-legacy. Nếu không sẽ không start được service sudo update-alternatives --config iptables

Tiếp theo: Làm thế nào để đảm bảo rằng dịch vụ Docker đang chạy trong WSL 2?

Bước 4: Đảm bảo dịch vụ Docker chạy trong WSL 2

Chúng ta sẽ sử dụng một đoạn mã shell để đảm bảo rằng dịch vụ Docker sẽ được khởi động nếu nó chưa chạy. Bạn mở file ~/.profile, hoặc .zprofile hoặc các file tương tự tùy distro của bạn đang dùng. Thêm vào đoạn code sau:

if grep -q "microsoft" /proc/version > /dev/null 2>&1; then
    if service docker status 2>&1 | grep -q "is not running"; then
        wsl.exe --distribution "${WSL_DISTRO_NAME}" --user root \
            --exec /usr/sbin/service docker start > /dev/null 2>&1
    fi
fi

Đoạn mã trên sẽ khởi động dịch vụ Docker nếu nó chưa chạy. Lần đầu tiên chạy đoạn mã này, terminal của bạn có thể bị treo trong vài giây.

Sau khi thêm xong bạn thử tắt wsl bằng lệnh.

wsl --shutdown

Sau đó mở lại nếu docker tự động chạy thì bạn đã làm đúng.

Xử lý lỗi

sudo docker run hello-world docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. See 'docker run --help'.

Đây là lỗi không start được service docker bạn cần chỉnh lại iptables như đã hướng dẫn ở trên. sau đó chạy lại lệnh 

sudo service docker start

Kết luận

Việc cài đặt Docker trực tiếp trong WSL 2 mà không cần Docker Desktop mang lại nhiều lợi ích, bao gồm tốc độ nhanh, khả năng tương thích với nhiều distro Linux, và khả năng chạy Kubernetes trực tiếp trong WSL 2. Điều này giúp tận dụng tối đa khả năng của WSL 2 và Docker, đồng thời giảm bớt sự phụ thuộc vào Docker Desktop.

Nếu bạn quan tâm đến việc phát triển phần mềm, hãy xem xét dự án phần mềm của chúng tôi. Phần mềm của chúng tôi có nhiều đặc điểm độc đáo, giúp tối ưu hóa quy trình làm việc và tăng năng suất.

Video cài đặt Docker trên WSL 2

Bình luận:

    Email của bạn sẽ được bảo mật
    Các trường có dấu * bắt buộc nhập

    Đang tải...

    Tags

    AI (1)App Store (1)Apple (1)Apple Preview (1)CSS cơ bản (1)CSS nâng cao (1)CSS3 (1)ChatGPT (1)Cloud Data Platforms (1)Cloud-Native (1)Cracked.com (1)Công nghệ AI (1)Cờ Cá Ngựa (1)Docker Compose v2 (1)Docker Desktop (1)Edge Computing (1)Elementor (1)Event-driven Architecture (1)FinOps (1)Game Online (1)Green Computing (1)HTKK (1)Hướng dẫn (1)Hệ thống bán vé (1)IT (0)Kubernetes (1)Linkable (1)Liên kết bị lỗi (1)Low-code Platforms (1)Luật Chơi (1)Lựa chọn màu sắc (1)OCR (1)OpenAI (1)PDF Candy (1)Phần mềm Vòng Quay May Mắn (1)Platform Engineering (1)Quay số may mắn (2)Quản lý sự kiện (1)SDK (1)SEO (2)Sejda PDF Editor (1)Shopify (2)SquareSpace (2)Thiết kế Landing Page (1)Thuế (1)Thương mại điện tử (1)Trí tuệ nhân tạo (1)Trò Chơi Dân Gian (1)Tăng doanh số bán hàng (1)Tạo sự kiện hấp dẫn (1)Tạo trang web (1)Tối ưu hóa di động (1)Tối ưu hóa trang web (1)Tỷ lệ thoát trang (1)WSL 2 (1)Website doanh nghiệp (2)Weebly (2)Wix (2)XML (1)XML sang PDF (1)Xu hướng công nghệ (1)Xây dựng website (4)auto L2M nhẹ (1)auto Lineage 2M (1)auto Purple Client (1)auto buff party l2m (1)auto bơm máu l2m (1)auto game L2M (2)auto l2m (2)automation (1)aws (1)bandwidth (1)blog (1)bong bóng khói (1)băng thông (1)bảo vệ file PDF (1)cache (3)chuyên nghiệp (1)chuyển đổi file PDF (1)chương trình xây dựng website tự động (1)chỉnh sửa PDF miễn phí (1)chức năng blog (1)cloud (1)coding (1)công cụ chỉnh sửa PDF (1)công cụ kế toán (1)distro Linux (1)doanh nghiệp (12)docker (2)domain (2)dịch vụ thiết kế website (1)dịch vụ thiết kế website trọn gói (1)dự án phần mềm (1)eCommerce (1)ec2 (1)email doanh nghiệp (4)email marketing (3)esc (1)fanpage (1)form mẫu (0)free lancer (1)giá rẻ (1)giải pháp (1)giải pháp sự kiện (1)giữ chân người dùng (1)header (2)hiệu suất trang web (1)hệ thống quay số may mắn (1)học lập trình CSS (1)hội nghị trực tuyến (1)internet speed (1)itaxpdf (1)javascript (2)khảo sát online (2)kinh doanh trực tuyến (2)kê khai thuế (1)kết nối hệ thống bán vé sự kiện (1)landing page (1)laravel (2)lập trình CSS (1)lịch điện tử (1)mailing (0)marketing (3)máy tạo bong bóng (1)mã CSS (1)mô tả sản phẩm (1)mạng xã hội (1)mẹo (1)mẹo thiết kế (1)mẹo web (1)nhân sự (2)nén ảnh (0)php (3)phát triển phần mềm (1)phần mềm (6)phần mềm tự động Lineage 2M (1)phần thưởng sự kiện (1)phụ nữ (1)plugins (1)puple l2m (1)quà tặng khách (1)quản lý kho (1)quản lý khách hàng (1)quảng bá nội dung (1)survey online (2)sử dụng media queries (1)sự kiện (1)thiết kế web (2)thiết kế web responsive (1)thiết kế website (16)thiết kế website bán hàng (1)thiết kế website doanh nghiệp (2)thiết kế độc đáo (1)thương mại (1)tiêu đề hấp dẫn (1)trang web trả tiền (1)trải nghiệm người dùng (2)typography (1)tên miền (2)tăng truy cập (1)tăng tỷ lệ chuyển đổi (1)tạo file PDF (1)tạo layout linh hoạt (1)tải chậm (1)tố chức hiệu quả (1)tốc độ internet (1)tốc độ tải trang (2)tối ưu hóa hình ảnh (1)tối ưu web (1)tối ưu website (2)tổ chức sự kiện (3)viết bài cho website (2)vua Hùng, (1)vòng quay trúng thưởng (1)văn hóa Việt (1)website (4)website WordPress (1)website builder (1)website chất lượng (2)wordpress (5)xây dựng app (0)xây dựng nội dung (1)xây dựng trang web (1)xây dựng website trọn gói (1)ý tưởng thiết kế (1)đầu tư website (1)đổi mới website (1)