Khi các bạn đọc bài viết Deploy Spring Boot Application Development Docker Window 10 chắc nhiều bạn sẽ đặt câu hỏi: Nếu muốn kết nối với database thì sẽ như thế nào? Nhiều kết nối nữa thì giải quyết ra sao?... Bài viết này, mình sẽ hướng dẫn giải quyết các thắc mắc đó nhé.
1. Chuẩn bị project
Download source code Hiển thị các thư mục project, dùng câu lệnh command "tree"
Xem qua thư mục .docker -> docker-compose.yaml
services: backend: build: context: backend target: dev-envs ports: - 8080:8080 environment: - POSTGRES_DB=example networks: - spring-postgres volumes: - /var/run/docker.sock:/var/run/docker.sock db: image: postgres restart: always secrets: - db-password volumes: - db-data:/var/lib/postgresql/data networks: - spring-postgres environment: - POSTGRES_DB=example - POSTGRES_PASSWORD_FILE=/run/secrets/db-password expose: - 5432
volumes: db-data:
secrets: db-password: file: db/password.txt
networks: spring-postgres:
Trong compose file có 2 service: db và backend. Sử dụng port 8080, tránh sử dụng port với các ứng dụng khác, miễn làm sao chưa ứng dụng nào dùng port 8080. Ngoài ra, định nghĩa các biến môi trường, connect backend service với postgres database, đặt username và password database
2. Chạy docker compose
Chạy câu lệnh docker compost command: docker compose up -d
Tiếp theo, vào docker desktop -> Images, hiển thị tên Spring-postgres-backend và postgress
Aplication run start, kiểm tra http://localhost:8080/ hiển thị thông tin "Hello from Docker!"
Như vây, chúng ta đã xây dựng được nhiều ứng dụng chạy trên Docker Compose (backend service, postgres database ) trên 1 cổng.
3. Dừng và xóa Containers
Khi có quá nhiều Containers chạy cùng 1 lúc, sẽ ảnh hưởng đến CPU, Memory, Disk, Network I/O. Do đó chúng ta nên quản lý Containers phù hợp nhất, lựa chọn các Containers hoạt động để tiết kiệm nguồn tài nguyên. Câu lệnh docker compose down
Ngoài ra, chúng ta có thể action trên giao diện Docker Desktop, lựa chọn Containers -> Action phù hợp nhất thôi
4. Tổng kết
Bài viết này, có thể giúp các bạn xây dựng hệ thống có nhiều Container như backend service, database lên Docker Compose. Còn khó khăn gì nữa, bắt tay làm việc thôi nhỉ. Các thím có thắc mắc hãy comment bình luận bên dưới nhá.