5

Tôi đang cố gắng thực hiện trình gỡ lỗi trong ứng dụng đường ray sử dụng máy chủ ứng dụng docker.Our thực hiện trong thiết bị đầu cuối Ubuntu bằng cách sử dụng: docker-compose up. Tôi không tìm thấy cách để chạy trình gỡ rối. Chúng tôi không thể sử dụng đường ray s --debugger. Cách gỡ lỗi ứng dụng đường ray của chúng tôi được tích hợp với docker là gì. Khi tôi giữ trình gỡ lỗi trong tệp ứng dụng, chúng tôi nhận được kết quả đầu ra trong bảng điều khiển: {***** Trình gỡ lỗi được yêu cầu, nhưng không có sẵn (đảm bảo gỡ lỗi ruby ​​được liệt kê trong Gemfile/được cài đặt làm đá quý): Khởi động máy chủ với --debugger để bật ***** }Làm thế nào để gỡ lỗi ứng dụng đường ray đang chạy bên trong docker container

Trả lời

5

Tôi không biết ruby ​​hoặc đường ray, nhưng đây là "vấn đề" chung với docker-compose up. Việc thực thi mã sẽ không dừng lại trong một thùng chứa đang chạy trong trường hợp này và thay vào đó thất bại khi bạn nhấn một điểm cho trình gỡ rối. Bạn cần phải chạy dịch vụ ở mặt trước thay thế:

docker-compose stop <my-service-to-debug> 
docker-compose run --service-ports <my-service-to-debug> 

Điều này sẽ thả bạn vào trình gỡ lỗi khi mã của bạn đạt đến điểm đó. Phần quan trọng ở đây là cờ --service-ports giúp đảm bảo các cổng giống nhau được hiển thị như bạn đã chỉ định trong tệp docker-compose.yml. Bạn cũng có thể sử dụng cờ --no-deps trong trường hợp bạn không muốn bất kỳ vùng chứa được liên kết nào khởi động lại.

Các vấn đề liên quan