Hướng Dẫn Cài Đặt Và Sử Dụng Docker Compose Cho Ubuntu 22.04

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-1

Docker Compose là một công cụ cực kỳ hữu ích giúp bạn quản lý và chạy nhiều container Docker cùng lúc thông qua một file cấu hình duy nhất (docker-compose.yml). Với Ubuntu 22.04 – một hệ điều hành phổ biến trên các máy chủ hiện nay – việc cài đặt và sử dụng Docker Compose sẽ giúp bạn triển khai các ứng dụng phức tạp một cách nhanh chóng, linh hoạt và dễ bảo trì.

Trong bài viết này, Zhost sẽ hướng dẫn bạn từng bước cách cài đặt Docker Compose trên hệ điều hành Ubuntu 22.04 bao gồm cách tạo file cấu hình, chạy dịch vụ, kiểm tra. Đây là kiến thức thiết yếu cho các DevOps, lập trình viên, và cả người quản trị hệ thống muốn tiết kiệm thời gian và tối ưu hiệu quả công việc.

Hướng dẫn thực hiện

Bước 1: Cài đặt Docker (nếu chưa có).

Trước tiên, bạn cần có có Docker trong VPS, nếu chưa có Docker trong VPS thì bạn hãy tham khảo tài liệu hướng dẫn cài đặt Docker cho VPS Ubuntu 22.04 dưới đây:

Hướng Dẫn Cài Đặt Docker Cho Ubuntu 22.04

 

Bước 2: Cài đặt Docker Compose.

Để cài đặt Docker Compose cho VPS của bạn thì bạn hãy chạy câu lệnh dưới đây:

Zhost Tutorial
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" \
  -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-2

 

Bước 3: Kiểm tra phiên bản Docker Compose.

Kiểm tra phiên bản của Docker Compose bằng cách chạy câu lệnh dưới đây:

Zhost Tutorial
docker-compose --version

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-3

 

Bước 4: Cài đặt LEMP bằng Docker Compose.

Dưới đây tôi sẽ cấu trúc cơ bản cho bạn chạy LEMP (Linux – Nginx – MySQL – PHP).

docker-compose.yml
  • Trước tiên, bạn cần  tạo folder và file docker-compose.yml.
Zhost Tutorial
mkdir lemp-docker
nano docker-compose.yml

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-5

  • Dán đoạn mã bên dưới vào:
Zhost Tutorial
version: '3.8'

services:
  web:
    image: nginx:latest
    container_name: nginx
    ports:
      - "8080:80"
    volumes:
      - ./www:/var/www/html
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php

  php:
    build: ./php
    container_name: php
    volumes:
      - ./www:/var/www/html

  db:
    image: mysql:5.7
    container_name: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: demo
      MYSQL_USER: demo
      MYSQL_PASSWORD: demopassword
    ports:
      - "3306:3306"

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-4

Lưu ý: Bạn cần thay đổi các thông tin trong đây phù hợp với nhu cầu của bạn để tăng bảo mật cho các dịch vụ.

  • Lưu lại và thoát (Ctrl+0, Enter, rồi Ctrl+X).
nginx/default.conf
  • Tiếp đến, bạn cần tạo folder và file nginx/default.conf.
Zhost Tutorial
mkdir nginx
nano nginx/default.conf

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-16

  • Sau đó dán đoạn mã bên dưới vào:
Zhost Tutorial
server {
    listen 80;
    server_name localhost IP_VPS;

    root /var/www/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
    }
}

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-6

Lưu ý: Thay IP_VPS bằng VPS của bạn để có thể truy cập webserver.

  • Lưu lại và thoát (Ctrl+0, Enter, rồi Ctrl+X).
php/Dockerfile
  • Tạo folder php và file Dockerfile.
Zhost Tutorial
mkdir php
nano php/Dockerfile

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-8

  • Sau đó dán đoạn mã bên dưới vào:
Zhost Tutorial
FROM php:8.1-fpm

RUN docker-php-ext-install mysqli pdo pdo_mysql

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-7

  • Lưu lại và thoát (Ctrl+0, Enter, rồi Ctrl+X).
www/index.php
  • Tạo folder www và file index.php.
Zhost Tutorial
mkdir www
nano www/index.php

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-13

  • Sau đó dán đoạn mã bên dưới vào:

<?php
phpinfo();

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-12

  • Lưu lại và thoát (Ctrl+0, Enter, rồi Ctrl+X).

Đây là cấu trúc thư mục lemp-docker sau khi cấu hình:

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-14

 

Bước 5: Khởi chạy LEMP Stack.

  • Để khởi chạy LEMP Stack thì bạn hãy chạy câu lệnh dưới đây tại thư mục lemp-docker:
Zhost Tutorial
docker-compose up -d

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-9

  • Sau khi chạy hoàn tất thì sẽ hiển thị như ảnh bên dưới.

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-10

 

Bước 6: Kiểm tra.

  • Sau đó, mở trình duyệt và truy cập:
Zhost Tutorial
http://IP_VPS:8080

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-11

Lúc này bạn sẽ thấy được trang phpinfo() hiện ra, tức là Nginx + PHP hoạt động OK.

 

Bước 7: Gỡ cài đặt (nếu cần).

Nếu bạn muốn gỡ cài đặt Docker Compose thì bạn hãy chạy câu lệnh dưới đây:

Zhost Tutorial
sudo rm /usr/local/bin/docker-compose
sudo rm /usr/bin/docker-compose

huong-dan-cai-dat-va-su-dung-docker-compose-cho-ubuntu-22-04-15

 

Kết luận

Qua hướng dẫn chi tiết từ Zhost, bạn đã nắm được cách cài đặt và sử dụng Docker Compose trên Ubuntu 22.04 để triển khai và quản lý nhiều container một cách đơn giản, hiệu quả. Với sức mạnh của Docker Compose, bạn có thể dễ dàng tổ chức, mở rộng và duy trì các ứng dụng phức tạp mà không cần phải thao tác thủ công từng container riêng lẻ. Nếu bạn đang tìm kiếm một giải pháp hiện đại để quản lý dịch vụ, Docker Compose chính là lựa chọn không thể thiếu. Chúc các bạn thành công!