python3 -m venv venv source venv/bin/activate
pip install -r requirements.txt
Để tạo một file setup.sh để cài đặt chương trình trên Docker và lưu kết quả ra ngoài thư mục downloads trên macOS, bạn có thể làm theo hướng dẫn sau.
Tạo một tệp setup.sh với nội dung sau:
#!/bin/bash
# Tạo Docker image cho chương trình
docker build -t internet-speed-test .
# Tạo thư mục downloads nếu chưa tồn tại
mkdir -p ~/Downloads/internet_speed_results
# Chạy Docker container và mount thư mục downloads
docker run -d \
--name internet-speed-test \
-v ~/Downloads/internet_speed_results:/app/data \
internet-speed-test
echo "Docker container 'internet-speed-test' is running."
echo "Results will be saved to ~/Downloads/internet_speed_results/internet_speed.csv"-
docker build -t internet-speed-test .: Lệnh này xây dựng Docker image từ
Dockerfilevới têninternet-speed-test. -
mkdir -p ~/Downloads/internet_speed_results: Lệnh này tạo thư mục
internet_speed_resultstrong~/Downloadsnếu nó chưa tồn tại. -
docker run -d --name internet-speed-test -v ~/Downloads/internet_speed_results:/app/data internet-speed-test: Lệnh này chạy Docker container trong chế độ nền (
-d), gắn kết (mount) thư mục~/Downloads/internet_speed_resultstrên máy Mac với thư mục/app/datatrong container. File CSV sẽ được lưu tại đây. -
echo: Lệnh này in thông báo ra màn hình để xác nhận rằng container đang chạy và nơi lưu kết quả.
Để sử dụng file setup.sh, thực hiện các bước sau:
-
Đảm bảo file
setup.shcó quyền thực thi:chmod +x setup.sh
-
Chạy script
setup.sh:./setup.sh
Sau khi script này hoàn tất, Docker container sẽ bắt đầu chạy và lưu các kết quả đo tốc độ internet vào thư mục ~/Downloads/internet_speed_results/internet_speed.csv trên máy của bạn.
Bạn có thể kiểm tra file internet_speed.csv trong thư mục ~/Downloads/internet_speed_results để xem các kết quả đo được lưu lại.
Bạn có thể dừng container bằng lệnh:
docker stop internet-speed-testVà khởi động lại bằng lệnh:
docker start internet-speed-testVới setup.sh, bạn sẽ dễ dàng cài đặt và quản lý chương trình đo tốc độ internet trên Docker, và lưu kết quả ra ngoài máy Mac của mình.