2013-04-26 36 views
11

docker run thường trả về đầu ra của lệnh nó chạy. Tôi cần truyền một số dữ liệu đến docker, chạy một lệnh xử lý dữ liệu và trả về kết quả đầu ra. Khi tôi sử dụng tùy chọn -i, không có đầu ra nào được trả lại. Hãy xem xét ví dụ đơn giản này:Cách lấy đầu ra từ docker run -i

echo hello | docker run -i base wc 

Nó không trả về đầu ra. Làm thế nào tôi có thể nhận được đầu ra từ docker khi sử dụng tùy chọn -i?

+0

Bạn có thể thêm đầu ra của 'phiên bản docker'' không? Tôi nghi ngờ đây là lỗi trong bất kỳ phiên bản nào bạn đang chạy. – Andy

+0

@Andy không nhận được kết quả đầu ra trên 0.5.0 – Matt

Trả lời

10

Các giải pháp tôi đưa ra là:

ID=$(echo hello | docker run -i -a stdin base wc) 
docker logs $ID 

Tôi không chắc chắn nếu điều này là cách tốt nhất, nhưng nó hoạt động.

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