Còn một câu hỏi liên kết tượng trưng khác của Docker. Tôi có một loạt các tập tin mà tôi muốn sao chép sang tất cả các bản dựng Docker của tôi. Cấu trúc thư mục của tôi là:Docker theo liên kết tượng trưng bên ngoài ngữ cảnh
parent_dir
- common_files
- file.txt
- dir1
- Dockerfile
- symlink -> ../common_files
Trong ví dụ trên, tôi muốn file.txt được sao chép khi docker xây dựng bên trong dir1. Nhưng tôi không muốn duy trì nhiều bản sao của file.txt. Mỗi this link, as of docker version 0.10, công cụ xây dựng docker phải
Làm theo các liên kết trong bên trong thùng chứa để biết hướng dẫn xây dựng ADD.
Nhưng tôi nhận được không có tập tin hoặc thư mục như vậy khi tôi xây dựng với một trong những dòng này trong Dockerfile tôi:
ADD symlink /path/dirname
hay ADD symlink/file.txt /path/file.txt
gắn kết tùy chọn sẽ KHÔNG giải quyết nó cho tôi (cross nền tảng...). Tôi đã thử tar -czh . | docker build -t
mà không thành công.
Có cách nào để làm cho Docker theo liên kết tượng trưng và sao chép tệp common_files/file.txt vào vùng chứa đã tạo không?
Cảm ơn bạn. Có, tôi nhận thấy rằng liên kết trước nhưng tôi nghĩ rằng đó là cho một phiên bản cũ hơn của docker (0.6.1). Có thể đề cập đến loại đăng nhập thay đổi của 0.10 đề cập đến https://github.com/docker/docker/blob/master/CHANGELOG.md#0100-2014-04-08 – Ravi
Ngoài ra nếu "parent_dir" được chọn trong bất kỳ máy tính nào và nếu symlink có đường dẫn tương đối đến "common_files", nó sẽ lặp lại được. – Ravi
Trích dẫn của bạn 'Thực hiện theo các liên kết bên trong vùng chứa của thùng chứa để biết hướng dẫn xây dựng ADD.' có nghĩa là * bên trong các liên kết chứa * được theo sau. Không có trong thư mục ngữ cảnh xây dựng. Trong 'ADD file.txt/dir/file.txt' thư mục' dir' có thể là một liên kết tượng trưng. Các đối số tôi trích dẫn trong câu trả lời của tôi vẫn còn hợp lệ và các liên kết tượng trưng vẫn chưa được theo dõi trong phiên bản mới nhất. Bạn có thể gặp sự cố (liên quan đến độ lặp lại) khi bạn lưu trữ các liên kết tượng trưng trong các hệ thống kiểm soát sửa đổi như * git *. Do đó, vui lòng tham khảo [câu hỏi này] (http://stackoverflow.com/questions/86402/how-can-i-get-git-to-follow-symlinks). – h3nrik