Khoan đã, cài “Docker” gì ?

Tại sao lại có câu hỏi này. Vấn đề ở đây, Docker cho phép bạn cài Docker DesktopDocker Engine.

Để chạy được Docker thì Docker Engine là đủ, nhưng để quản lý các tài nguyên của Docker thông qua Docker Engine, bạn cần phải làm việc với cửa sổ dòng lệnh (terminal).

Đối với Docker Desktop, bạn có thể làm việc với Docker một cách trực quan thông qua giao diện đồ họa. Muốn chạy một image? Nhấn một nút. Muốn xóa một container? Nhấn thêm nút nữa.

Mỗi lựa chọn đều có các ưu nhược điểm, nhưng đối với ai dùng Docker Desktop thì hơi yếu nheeeeeee, học dùng lệnh đi cho quen :D Mốt lên server thì ít ai có cái GUI cho bạn bấm bấm lắm á nha :)) Tới đó kêu họ cài GUI thì mai có thông báo: “Cảm ơn bạn đã đồng hành cùng chúng tui…”, tới đó là đổi job đi làm đầu bếp lunnn.

Luyên thuyên quá, vô cài Docker nè. (Bấm vô đây nếu muốn bỏ qua địa ngục 666)

Docker Desktop

Damn, vậy là bạn chọn đi qua địa ngục. Fine :D

Nếu bạn muốn dùng Docker hardcore và trở thành Gigachad thì Docker Engine là đủ. Tuy nhiên, nếu bạn vừa bắt đầu với Docker thì nên dùng Docker Desktop cho tiện nha.

Đối với cách này, chỉ cần vào trang web docker.com/get-docker để tải xuống phiên bản phù hợp với hệ điều hành của bạn. Tui chắc chắn bạn là người dùng Windows hoặc MacOS.

Cách cài Docker trên Windows hoặc cách cài Docker trên MacOS cũng khá dễ, chỉ cần tải xuống file cài đặt từ Docker, chạy file vừa tải về, restart vài ba lần là bạn đã có Docker Desktop trong máy. Chỉ cần chạy ứng dụng Docker Desktop là ngon lành.

Docker Engine

Thanks God! Đây mới là thiên đường.

Nếu bạn dùng Windows và vào đây, xin lỗi, bạn không có chỗ ở đây.

Đó là sự thật. Nếu bạn vào trang cài đặt của Docker Engine tại đây: https://docs.docker.com/engine/install/, cho dù bạn tìm lòi mắt thì trên Windows, bạn chỉ có thể cài Docker Desktop. Do đó tui cho rằng bạn đang cài Docker Engine trên Linux

Lưu ý trước khi cài Docker

Trên Linux, khi chạy Docker bạn sẽ cần quyền root. Do đó mỗi lần dùng lệnh docker sẽ cần sudo docker ... khá là phiền. Để loại bỏ điều này, cần phài thực hiện thêm một vài lệnh, bạn có thể bỏ qua phần này.

Để chạy docker mà không cần sudo, hãy thêm user của bạn vào group có tên là docker.

  1. Tạo một group tên là docker
sudo groupadd docker
  1. Add user của bạn vào group mới tạo
sudo usermod -aG docker $USER
  1. Log out và login lại để chắc ăn.
  2. Thử chạy docker mà không cần sudo
docker run hello-world
  1. Quên là chưa cài docker :)

Cài đặt Docker Engine trên Ubuntu

Để cài Docker Engine cũng khá đơn giản, copy paste là ok…

Bắt đầu nha

Gỡ bản các bản cũ (nếu có)

sudo apt-get remove docker docker-engine docker.io containerd runc

Cài đặt thông qua apt để tiện update

  1. Update apt, và cài các gói khác để apt có thể truy cập thông qua HTTPS
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
  1. Thêm GPG key của Docker.
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
  1. Chạy lệnh này để setup apt
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. Cài bản Docker mới nhất
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. Kiểm tra xem docker đã chạy chưa Docker sẽ tải xuống và chạy một image nhỏ gọi là “hello-world”. Kết quả trả về sẽ hiển thị thông báo chào mừng từ container, xác nhận rằng Docker đang hoạt động đúng.
sudo docker run hello-world

Để biết thêm thông tin cũng như cách cài đặt trên các distro khác, các bạn nên xem qua document của Docker tại trang chính thức của Docker

Kết

Vậy là xong, nếu không có lỗi gì thì bạn đã cài và chạy Docker thành công.

Nếu có thắc mắc gì, hoặc gặp khó khăn trong việc cài đặt, hãy liên hệ qua email này nha

contact@codechovui.dev

Còn bây giờ hãy đi khám phá Docker tiếp nào :D


Kunniii on GitHub