06/04/2017

Docker đã giúp mình cài đặt database nhanh như thế nào?

Trong một số bài viết trước mình đã giới thiệu về Docker và lợi ích đáng kể của nó. Mình thực sự ấn tượng về khả năng triển khai ứng dụng một cách nhanh chóng, hiệu quả và chính xác.





Cty mình sử dụng 3 loại Database bao gồm: Postgres (for app), MongoDB (for report), Redis (for cache). Việc cài đặt và cấu hình cho 3 database này nếu làm nhanh cũng phải mất chừng 30p. Các bạn có thể xem qua 3 ví dụ cài đặt bên dưới:

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-16-04
https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-ubuntu-16-04
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04

Sau khi tìm hiểu Docker, mình sử dụng Docker-compose để deploy 3 database này bằng 1 dòng lệnh duy nhất: docker-compose up -d

- Download file docker-compose.yml


Giải thích

- dòng 1: version của file docker-compose. Hiện tại docker-compose file đã có version 3
- dòng 3: khai báo các services
- dòng 4: tên service
- dòng 5: tên container sau khi run
- dòng 6: docker image được dùng trong service này
- dòng 7: docker container này sẽ tự động start
- dòng 8: khai báo port theo định dạng host:container. Trong ví dụ là 5432:5432 nghĩa là sẽ bind port 5432 của container (postgres) sang port 5432 ngoài host. Nếu port 5432 already use thì sẽ bị lỗi
- dòng 10, 11: cấu hình volume: docker sẽ mount folder ~/pgdata từ host vào thành folder /var/lib/postgresql/data trong docker container. Folder này sẽ chứa data của postgres nên sau khi RM container data sẽ vẫn còn
- dòng 12: cấu hình environment variables

Khởi chạy

cd vào folder chứa file docker-compose.yml và dùng command:

docker-compose up -d
docker ps



Run bash trong container

docker exec -it postgres bash


Run psql

docker exec -it postgres psql -U postgres


Không có nhận xét nào:

Đăng nhận xét