CodeGym /Các khóa học /Docker SELF /Tạo Dockerfile cho từng dịch vụ

Tạo Dockerfile cho từng dịch vụ

Docker SELF
Mức độ , Bài học
Có sẵn

3.1 Tạo Dockerfile cho frontend (ReactJS)

Trong bước này, chúng ta sẽ tạo Dockerfile cho từng trong ba service của ứng dụng nhiều container của chúng ta: frontend sử dụng ReactJS, backend sử dụng Python (Flask) và cơ sở dữ liệu PostgreSQL. Dockerfile xác định các hướng dẫn để tạo Docker image cho mỗi service.

Tạo file Dockerfile trong thư mục frontend:

Terminal

cd frontend
touch Dockerfile

Nội dung Dockerfile cho frontend:

Terminal

# Sử dụng base image node
FROM node:14

# Thiết lập thư mục làm việc
WORKDIR /app

# Sao chép package.json và package-lock.json để cài đặt dependencies
COPY package*.json ./

# Cài đặt dependencies
RUN npm install

# Sao chép các file còn lại của project
COPY . .

# Thiết lập port 3000
EXPOSE 3000

# Chạy ứng dụng
CMD ["npm", "start"]

Dockerfile này thực hiện các bước sau:

  1. Sử dụng base image node:14.
  2. Thiết lập thư mục làm việc /app.
  3. Sao chép các file package.jsonpackage-lock.json.
  4. Cài đặt dependencies bằng npm install.
  5. Sao chép tất cả các file của project vào thư mục làm việc.
  6. Mở port 3000 để truy cập ứng dụng.
  7. Chạy ứng dụng bằng npm start.

3.2 Tạo Dockerfile cho backend (Flask)

Tạo file Dockerfile trong thư mục backend:

Terminal

cd backend
touch Dockerfile

Nội dung Dockerfile cho backend:

dockerfile

# Sử dụng base image python
FROM python:3.12

# Thiết lập thư mục làm việc
WORKDIR /app

# Sao chép requirements.txt để cài dependencies
COPY requirements.txt ./

# Cài dependencies
RUN pip install --no-cache-dir -r requirements.txt

# Sao chép các file khác của dự án
COPY . .

# Mở cổng 5000
EXPOSE 5000

# Chạy ứng dụng
CMD ["python", "run.py"]

Dockerfile này thực hiện các bước sau:

  1. Sử dụng base image python:3.12.
  2. Thiết lập thư mục làm việc /app.
  3. Sao chép file requirements.txt.
  4. Cài dependencies bằng pip install.
  5. Sao chép toàn bộ các file dự án vào thư mục làm việc.
  6. Mở cổng 5000 để truy cập ứng dụng.
  7. Chạy ứng dụng bằng python run.py.

3.3 Tạo Dockerfile cho cơ sở dữ liệu (PostgreSQL)

Đối với cơ sở dữ liệu PostgreSQL, chúng ta sẽ sử dụng official image, vì vậy việc tạo Dockerfile riêng không cần thiết. Thay vào đó, chúng ta sẽ cấu hình PostgreSQL thông qua docker-compose.yml.

3.4 Build và test Docker images

Sau khi tạo Dockerfile cho frontend và backend, việc test quá trình build là rất quan trọng.

Build Docker image cho frontend:

Terminal

cd frontend
docker build -t task_management_frontend .

Build Docker image cho backend:

Terminal

cd ../backend
docker build -t task_management_backend .

Kiểm tra hoạt động của containers:

Chạy container cho frontend:

Terminal

docker run -p 3000:3000 task_management_frontend

Chạy container cho backend:

Terminal

docker run -p 5000:5000 task_management_backend

Truy cập vào http://localhost:3000 để kiểm tra hoạt động của frontend và http://localhost:5000 để kiểm tra hoạt động của backend.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION