Chào các bạn,
Hôm nay mình xin chia sẽ cách làm tăng perfomance khi chạy Docker trên hệ điều hành OS.
Hardware:
- MacOS (bất cứ hệ điều hành nào)
Software:
- Docker for MAC
- Internet
- IDE Visutal Code
version: '3'
# service
services:
# mysql: Định nghĩa cơ sở dữ liệu MySQL
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- ./db/mysql_data:/var/lib/mysql
# phpadmin: sử dụng phần mềm PHPADMIN để giao tiếp với database thông qua http://localhost:8080/ trên local PC.
phpadmin:
depends_on:
- mysql
image: phpmyadmin/phpmyadmin
restart: always
ports:
- '8080:80'
environment:
PMA_HOST: mysql
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:
- ./www:/var/www/html
- ~/etc/timezone:/etc/localtime:ro
links:
- mysql:mysql
environment:
- VIRTUAL_HOST=localhost # cấu hình máy chủ mysql
Bắt đầu khởi tạo và start container container:
$ docker-compose up -d
Khi copy thử source code ( wordpress chẳng hạn) vào thư mục www và kiểm tra thử xem thế nào?
Một số thao tác trở nên rất chậm chạp! Đó là do việc giao tiếp giữa máy host (MacOS) và máy ảo diễn ra một cách trực tiếp và không thông qua bộ nhớ cache.
Để khắc phục việc này, chúng ta thếm một hằng số cached vào volumes của phần định nghĩa của www:
www:
image: atsu666/ioncube:7.2
privileged: true
volumes:
- ./www:/var/www/html:cached #Thêm vào định nghĩa cache để làm docker chạy nhanh hơn tren MacOS
- ~/etc/timezone:/etc/localtime:ro
links:
- mysql:mysql
environment:
- VIRTUAL_HOST=localhost # cấu hình máy chủ mysql
Restart lại docker-compose:
$docker-compose down
$docker-compose up -d
Cheer!
Docker đã trở nên hoạt động một cách nhanh chóng như máy ảo Linux.
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...