Tăng tốc độ với Docker-sync (MacOS)
Bài đăng này đã không được cập nhật trong 4 năm
Chào các bạn,
Hôm nay mình xin được viết bài hướng dẫn về docker-sync. Trong dự án thực tế, khi làm việc với Docker for Mac thì mình gặp khá nhiều rắc rối về perfomance. Mình đã thử chạy Docker-compose để tạo một project với PHP nhưng khi thao tác với website nhưng load page, chuyển trang, v.v... thì xảy trường hợp response rất là chậm chạp. Mặc dù mình đã tăng cấu hình cho docker lên một cách rõ rệt:
Nhưng nó vẫn cực kỳ chậm chập, phải nói chậm còn hơn con rùa
Mình đã cố gắng tìm hiểu nhiều cách khắc phục thì trong đó sử dụng Docker-sync là hiệu quả nhất.
Trước hết thì chúng ta sẽ hạ cấu hình của Docker for Mac trước, vì nó đã làm tốn rất nhiều tài nguyên của máy.
Thật ra nếu bạn có tăng max cấu hình cho Docker thì nó vẫn không ăn thua gì !!! Vả lại chúng ta còn sử dụng cho mục đích khác nữa nên thôi hạ cấu hình xuống đi và cài docker-sync thôi nào!!!
Để cài đặt docker-sync:
$ sudo gem install docker-sync
$ brew install fswatch
$ brew install unison
Tạo file docker-compose.yml
version: '2'
services:
# mysql
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
# proxy
proxy:
image: jwilder/nginx-proxy:latest
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
ports:
- "80:80"
# www
www:
image: atsu666/ioncube:7.2
privileged: true
volumes:
- web-sync:/var/www/html:cached
- /etc/localtime:/etc/localtime:ro
links:
- mysql:mysql
environment:
- VIRTUAL_HOST=localhost
- APACHE_DOCUMENT_ROOT=/var/www/html
# volumes
volumes:
web-sync:
external: true
Tạo file docker-sync.yml:
version: '2'
syncs:
web-sync:
notify_terminal: true
src: './www'
Chạy docker-sync:
$ docker-sync-stack start
Lưu ý: không chạy lên docker-compose vì docker-sync đã chuẩn bị hết tất cả, từ khâu setup volumes cho đến tạo container,...
Để tắt docker thì chúng ta chỉ việc nhấn Ctrl + C (Window) hoặc Command + C (MacOS), hoặc bạn nào giỏi bash thì có thể viết các lệnh để tắt từng container.
Bài viết đến đây là kết thúc. Hy vọng các bạn có thể tận dụng được docker-sync để tăng tốc cho Docker và đạt được hiệu quả tối ưu nhất.
All rights reserved