Là BMitch answered, được mong đợi là hành vi COPY.
Một giải pháp thay thế sẽ là ADD
nội dung của tarball.
Tạo tarball ban đầu
tar -cvf dirs.tar dirone/ dirtwo/ dirthree/
Thêm nó vào việc xây dựng
FROM busybox
ADD dirs.tar/
CMD find /dirone /dirtwo /dirthree
Các tarball được tự động trích
○ →docker run c28f96eadd58
/dirone
/dirone/one
/dirtwo
/dirtwo/two
/dirthree
/dirthree/three
Note rằng mỗi khi bạn cập nhật các tập tin tar bạn đang vô hiệu hóa bộ đệm ẩn của Docker cho bước đó. Nếu bạn đang xử lý nhiều tệp bạn có thể muốn thông minh khi bạn thực hiện tar -c
. Bạn cũng có thể sử dụng tar -u
nếu bạn có thể xử lý các tệp không bị xóa tự động khỏi tarball.
[ -f dirs.tar ] && tar -uf dirs.tar something || tar -cf dirs.tar something