EQVPS

Cách cài đặt Docker trên VPS

Cài đặt Docker Engine và plugin Compose trên Ubuntu đúng cách — từ kho lưu trữ chính thức của Docker, không phải gói lỗi thời của distro — sau đó chạy một container thử nghiệm và đặt nó khởi động cùng hệ thống. Vài lệnh để có một máy chủ container hoạt động.

Docker đóng gói một ứng dụng và mọi thứ nó cần vào một container chạy giống hệt nhau ở mọi nơi — cách sạch sẽ nhất để tự lưu trữ dịch vụ trên VPS. Vấn đề duy nhất trên Ubuntu và Debian là phiên bản trong kho lưu trữ riêng của distro thường cũ và không đi kèm plugin Compose hiện đại. Hãy cài đặt từ kho lưu trữ chính thức của Docker thay vào đó. Đây là toàn bộ quy trình.

1. Thiết lập kho lưu trữ chính thức của Docker (Ubuntu)

sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
  https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2. Cài đặt Docker Engine và Compose

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3. Xác nhận nó đang chạy và được bật khi khởi động

sudo systemctl enable --now docker
sudo docker run --rm hello-world

Container hello-world sẽ tải về, in ra một thông báo thành công rồi thoát — bằng chứng cho thấy engine hoạt động.

4. (Tùy chọn) Chạy Docker mà không cần sudo

sudo usermod -aG docker $USER
# log out and back in for the group to take effect

Chỉ làm điều này cho một người dùng bạn tin tưởng — quyền truy cập nhóm docker thực chất tương đương root trên máy chủ.

Một container thực tế nhanh gọn

docker run -d --restart unless-stopped -p 8080:80 --name web nginx
# visit http://YOUR.SERVER.IP:8080

--restart unless-stopped là thứ giúp container quay lại sau khi khởi động lại.

Cảnh báo thành thật

Bước tiếp theo

Với Docker đã cài đặt, bạn có thể tự lưu trữ gần như bất cứ thứ gì. Xem tự lưu trữ nhiều dịch vụ sau một IP, hoặc các bản dựng Docker cụ thể như một máy chủ remote-desktop RustDeskgiám sát Uptime Kuma. Để đặt một tên miền và HTTPS phía trước, xem cách thiết lập reverse proxy nginx.

FAQ

Nên dùng 'apt install docker.io' hay kho lưu trữ của Docker?

Để có phiên bản mới nhất, hãy dùng kho lưu trữ chính thức của Docker (các bước bên dưới). Gói docker.io của distro tiện lợi nhưng thường lỗi thời, và plugin 'docker compose' hiện đại chỉ đi kèm các gói chính thức. Nếu bạn chỉ cần một máy dùng tạm nhanh gọn, docker.io cũng được.

Sự khác biệt giữa 'docker compose' và 'docker-compose' là gì?

'docker-compose' cũ là một công cụ Python riêng biệt (có gạch nối). Phiên bản hiện tại là 'docker compose' (có khoảng trắng) — một plugin đi kèm với Docker. Hãy dùng plugin; công cụ độc lập đã lỗi thời. Cài docker-compose-plugin như hướng dẫn và bạn sẽ có nó.

Làm sao để chạy Docker mà không cần gõ sudo mỗi lần?

Thêm người dùng của bạn vào nhóm docker: 'sudo usermod -aG docker $USER', sau đó đăng xuất và đăng nhập lại. Lưu ý rằng điều này thực chất cấp quyền truy cập cấp root thông qua container, vì vậy chỉ làm điều này cho một người dùng đáng tin cậy trên máy của chính bạn.

Docker cần bao nhiêu RAM?

Bản thân Docker nhẹ; điều quan trọng là các container bạn chạy. Một hoặc hai ứng dụng nhỏ vừa vặn thoải mái trên máy 1 GB, trong khi các stack nặng hơn (database, nhiều dịch vụ) cần thêm khoảng trống. Hãy chọn kích thước VPS theo khối lượng công việc, không phải theo Docker.

Container của tôi có sống sót qua một lần khởi động lại không?

Chỉ khi bạn yêu cầu chúng làm vậy. Dịch vụ của Docker được bật khi khởi động qua các bước bên dưới, và các container được khởi chạy với '--restart unless-stopped' (hoặc chính sách đó trong Compose) sẽ tự động quay lại. Không có chính sách restart, một container sẽ ở trạng thái dừng sau khi khởi động lại.

Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên.

Để lại bình luận

Bình luận được kiểm duyệt trước khi hiển thị.