Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Docker thường được sử dụng cho các ứng dụng phía server và dòng lệnh. Tuy nhiên, với thiết lập phù hợp, bạn cũng có thể chạy các ứng dụng dựa trên GUI bên trong những container. Các container này có thể bao gồm những thư viện GUI và công cụ hiển thị, cho phép các ứng dụng chạy trong môi trường an toàn và biệt lập. Phương pháp này giúp đơn giản hóa việc phát triển, thử nghiệm và triển khai các ứng dụng GUI trên nhiều máy hoặc môi trường hệ điều hành khác nhau. Bài viết này sẽ hướng dẫn bạn cách chạy các ứng dụng GUI bên trong những container Docker với thiết lập tối thiểu.
Sau đây là những lý do chính tại sao chạy ứng dụng GUI trong Docker có thể có lợi:
Để chạy ứng dụng GUI trong Docker, trước tiên bạn phải đảm bảo rằng Docker đã được cài đặt trên hệ thống Linux của mình. Bạn có thể kiểm tra điều này bằng cách chạy lệnh sau:
docker --version

Nếu lệnh này trả về số phiên bản, điều đó có nghĩa là Docker đã được cài đặt và đang hoạt động. Nếu không, bạn có thể sẽ thấy lỗi "command not found".
Sau khi Docker được thiết lập đúng cách, bạn có thể chuyển sang các bước tiếp theo.
Bây giờ, hãy khởi động service Docker bằng lệnh sau:
sudo systemctl start docker
Để kiểm tra xem service Docker có đang chạy đúng không, hãy chạy:
sudo systemctl status docker
Đầu ra xác nhận rằng service Docker đang hoạt động và chạy mà không có bất kỳ sự cố nào:

Hãy tạo một thư mục có tên là "dockerGUI", nơi chúng ta sẽ lưu trữ tất cả các file liên quan đến Docker để chạy các ứng dụng GUI:
mkdir dockerGUI
Bây giờ, hãy điều hướng đến thư mục này để đảm bảo rằng tất cả các file tiếp theo mà chúng ta tạo hoặc sửa đổi sẽ được lưu trong thư mục dockerGUI:
cd dockerGUI
Tạo một file mới có tên là dockerGUIFile để xác định cấu hình image Docker:
nano dockerGUIFile
Bây giờ, hãy dán các dòng code sau vào dockerGUIFile:
FROM jess/firefox
ENV DISPLAY=:0
CMD ["firefox"]
Đoạn code trên yêu cầu Docker sử dụng image dựng sẵn của Firefox và thiết lập môi trường hiển thị để GUI có thể xuất hiện trên hệ thống host. Hơn nữa, nó đảm bảo Firefox tự động khởi chạy khi container chạy.
Lưu ý: Để thử một ứng dụng khác, chỉ cần thay đổi image và lệnh trong Dockerfile. Ví dụ, để chạy Gedit, bạn có thể sử dụng image Ubuntu chính thức và cài đặt ứng dụng trong quá trình build như sau:
FROM ubuntu
RUN apt-get update && apt-get install -y gedit
ENV DISPLAY=:0
CMD ["gedit"]
Bây giờ, cấu hình Docker đã được thiết lập trong dockerGUIFile, hãy build image Docker bằng lệnh sau:
sudo docker build -t myfirefox:1 -f dockerGUIFile .
Lệnh này build một image Docker từ dockerGUIFile, đặt tên là myfirefox với tag 1 và sử dụng thư mục hiện tại làm ngữ cảnh:

Bây giờ, hãy bật hỗ trợ GUI cho các container Docker bằng cách chạy lệnh sau:
xhost +local:docker
Đầu ra xác nhận rằng các client cục bộ (như Docker container) đang chạy trên hệ thống hiện được phép kết nối với máy chủ X:

Bây giờ, hãy chạy container bằng lệnh sau để khởi chạy Firefox với hỗ trợ GUI trên hệ thống host của bạn:
docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix myfirefox:1
Kết quả là, lệnh này kết nối container với màn hình, cho phép Firefox mở trên màn hình của bạn giống như một ứng dụng gốc:

Lưu ý: Sử dụng tùy chọn --rm khiến Docker tự động xóa container sau khi ứng dụng đóng, giúp hệ thống của bạn sạch sẽ và ngăn không cho nó hiển thị trong docker ps -s.
Sau khi sử dụng xong ứng dụng GUI, bạn nên đóng quyền truy cập server X vì lý do bảo mật:
xhost -local:docker

Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Karaoke Người Đó Tôi Đây Tình Đâu(Midi)
Chuyển tin nhắn Messenger thành bài hát trong nháy mắt
Cách xây dựng game nhiều người chơi với Claude Opus 5.5
Cách xem thời tiết trong ChatGPT với AccuWeather để lên kế hoạch
Karaoke Lạnh (Midi)
Cách kết nối ElevenLabs AI agent với Exa
Thiết lập cách ChatGPT thông báo cho bạn khi có công việc cần chú ý
TOP phần mềm OCR scan tài liệu có tích hợp AI tốt nhất
6 trang web tạo mật khẩu ngẫu nhiên an toàn đáng tin cậy
TOP nền tảng xây dựng công cụ nội bộ có tích hợp AI
TOP phần mềm AI bảo mật Internet tốt nhất hiện nay
Biến các ý tưởng thành giải thích trực quan, tương tác trong ChatGPT
TOP tiện ích mở rộng AI cho VS Code tốt nhất
Cách tạo website Portfolio miễn phí bằng ChatGPT
6 lựa chọn thay thế Visual Studio Code tốt nhất có tích hợp AI
Tạo form hỏi đáp tương tác trong vài phút và prompt chỉnh sửa
Hướng dẫn sử dụng Google Slides trong Claude
Hướng dẫn sử dụng Wolfram trong ChatGPT giải toán nâng cao
15 prompt AI thú vị cho ngày lễ Halloween
Hoàn thiện một thiết kế thực tế với ChatGPT + Canva
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Cách sửa lỗi There Are Currently No Power Options Available Windows
Claude Code thực sự có giá bao nhiêu?
Hướng dẫn 8 cách mở bàn phím ảo trên Windows 10
Hướng dẫn tạo flashcard trên Canva AI