Sau khi đã xác định vai trò của Docker trong kiến trúc Web Server hiện đại, bước tiếp theo là cài đặt Docker và Docker Compose một cách bài bản. Việc cài đặt đúng ngay từ đầu giúp tránh rất nhiều vấn đề về sau liên quan đến bảo mật, hiệu năng và vận hành.
Bài viết này tập trung vào cài đặt Docker cho web server chạy production, không đi theo hướng thử nghiệm hay học tập.
1. Chuẩn bị trước khi cài đặt
1.1. Yêu cầu hệ điều hành
Docker hoạt động ổn định nhất trên:
Debian 11/12
Ubuntu Server 20.04 / 22.04 / 24.04
Khuyến nghị:
Hệ điều hành tối thiểu, không cài desktop
Kernel mới, được cập nhật bảo mật
Có quyền root hoặc sudo đầy đủ
1.2. Kiểm tra các dịch vụ đang chạy
Trước khi cài Docker, cần:
Xác định các dịch vụ web hiện có (Nginx, Apache, MariaDB…)
Kiểm tra port đang sử dụng
Đảm bảo không có cấu hình cũ xung đột với Docker
2. Cài đặt Docker Engine
2.1. Gỡ các phiên bản Docker cũ (nếu có)
2.2. Cài các gói phụ trợ cần thiết
2.3. Thêm Docker GPG key và repository chính thức
2.4. Cài Docker Engine
2.5. Kiểm tra Docker
Docker service nên ở trạng thái active (running).
3. Cài đặt Docker Compose
Hiện nay Docker Compose được tích hợp dưới dạng plugin.
3.1. Cài Docker Compose plugin
3.2. Kiểm tra Docker Compose
Khuyến nghị sử dụng:
docker compose(không dùngdocker-composelegacy)
4. Cấu hình Docker cho môi trường production
4.1. Cho phép user thường chạy Docker (tuỳ chọn)
Sau đó đăng xuất và đăng nhập lại.
Với server production, có thể chỉ dùng Docker bằng user root để kiểm soát chặt chẽ hơn.
4.2. Cấu hình thư mục lưu dữ liệu Docker
Mặc định Docker lưu tại /var/lib/docker.
Với web server, nên:
Đảm bảo phân vùng đủ dung lượng
Hoặc mount sang ổ đĩa riêng nếu cần
4.3. Logging và giới hạn log
Tạo file:
Reload Docker:
5. Kiểm tra hoạt động của Docker
5.1. Test container cơ bản
Nếu chạy thành công, Docker đã sẵn sàng.
6. Những lưu ý quan trọng cho Web Server
6.1. Không expose container ra Internet tùy tiện
Tránh bind
0.0.0.0Ưu tiên
127.0.0.1hoặc Docker internal network
6.2. Không chạy tất cả dịch vụ trong một container
Mỗi container một vai trò
Dễ debug, dễ thay thế
6.3. Docker không thay thế firewall
Vẫn cần cấu hình firewall ở host
Kiểm soát port và network rõ ràng
7. Cấu trúc thư mục khuyến nghị cho web server
Ví dụ:
Cách tổ chức này giúp:
Dễ quản lý theo dịch vụ
Dễ backup
Dễ mở rộng về sau
8. Kết luận
Cài đặt Docker và Docker Compose trên Web Server không khó, nhưng cần làm đúng ngay từ đầu. Một môi trường Docker được cài đặt bài bản sẽ:
Ổn định hơn khi vận hành production
Dễ chuẩn hóa và nhân bản
Là nền tảng cho các bước triển khai tiếp theo
Trong bài tiếp theo, chúng ta sẽ bắt đầu triển khai Web Server bằng Docker, đi từ kiến trúc tổng thể đến cách phân chia vai trò giữa host và container.
- Đăng nhập để gửi ý kiến
