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.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf 1. Bảo vệ khỏi tấn công DoS bằng giới hạn số...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được phát hành miễn phí để tăng tính bảo mật cho server (VPS & Dedicated)....
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
V. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử dụng đường dẫn đầy đủ Xét đoạn code php sau: <?php if (isset($_GET['file'])) { $file...
Directory traversal vulnerabilities (phần 3)
V. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các hàm đọc file và tin tưởng đầu vào người dùng Xét đoạn code php sau:...
Directory traversal vulnerabilities (phần 2)
III. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các lỗ hổng Directory traversal cũng khác nhau. Lỗ hổng thường xuất hiện khi chương...