Làm thế nào để gỡ lỗi vô hiệu hóa bộ đệm Docker?


15

Docker có một bộ đệm, rất tuyệt, nhưng tất cả những gì tôi thấy trong đầu ra "docker build" là:

---> Using cache

hoặc đầu ra của lệnh (ngụ ý rằng nó không sử dụng bộ đệm).

Sau một bước trong Dockerfile của tôi (một BẢN SAO), rõ ràng nó không sử dụng bộ đệm. Nhưng tôi khá chắc chắn không có gì thay đổi trong thư mục mà nó đang sao chép. (Đó là ứng dụng của chúng tôi và tôi chạy vào trường hợp không có bộ đệm ngay cả khi tôi triển khai hai lần liên tiếp chẳng hạn.)

Có cách nào để Docker nói cho tôi biết những gì nó nghĩ đã thay đổi không?

Tôi biết Docker được sử dụng để kiểm tra dấu thời gian cho việc này, nhưng nó đã được sửa trong Docker 1.8 và tôi đang sử dụng Docker 1.9.x ở đây.


Vui lòng gửi bài của bạnDockerfile
Joel E Salas

1
@JoelESalas: Tôi không hiểu yêu cầu của bạn. Một cái gì đó đơn giản như FROM ubuntu:14.04 MAINTAINER me COPY /app/ /app/sẽ chứng minh điều này. Và tôi sẽ không đăng toàn bộ mã nguồn và cơ sở hạ tầng của mình.
Timmay

1
Bên cạnh đó, ngay cả khi nhìn vào Dockerfile có thể giúp ích, câu hỏi là làm thế nào để tôi chẩn đoán những vấn đề như vậy. Tôi không muốn người khác nhìn vào cấu hình của mình và cho tôi biết câu trả lời. Tôi muốn biết những công cụ tồn tại để giúp giải quyết vấn đề.
Timmay

Làm thế nào chắc chắn rằng bạn không có gì thay đổi trong thư mục đó?
Joel E Salas

Câu trả lời:


4

Sử dụng tìm kiếm nhị phân, với .dockerignore.

Thêm một nửa tệp của bạn vào .dockerignorevà xây dựng vùng chứa. Nếu nó sử dụng bộ đệm cho COPYbước này, thì bạn biết các tệp đã thay đổi nằm trong tập bạn đã bỏ qua, nếu không thì bạn biết đó là ở nửa kia. Lặp lại thử nghiệm này với tập hợp các tệp có thay đổi, cho đến khi nó chỉ là một tệp / thư mục.

(Kính gửi Lazyweb: tìm ra một số cách để mở rộng Docker để làm cho điều này bớt đau đớn hơn!)


2
Âm thanh một cách tiếp cận ổn để gỡ lỗi một cái gì đó cục bộ, cảm ơn. Trong trường hợp của tôi, tôi hiện đang cố gắng gỡ lỗi bộ đệm Docker trong môi trường CI và tôi hơi bực mình rằng dường như tôi không thể tìm ra cách nào để Docker xây dựng dài dòng hơn = /
elias
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.