2015-01-15 20 views
8

Tôi có Wikimedia đang chạy trên Docker. Tiện ích mở rộng của Wikimedia nằm trong thư mục extensions/ ban đầu chứa các tiện ích mở rộng tích hợp (một tiện ích mở rộng = một thư mục con)Làm cách nào để hợp nhất thư mục lưu trữ với thư mục vùng chứa trong Docker?

Bây giờ tôi muốn thêm các tiện ích mở rộng mới. Tuy nhiên tôi không thích tùy chọn sửa đổi Dockerfile hoặc tạo cam kết mới trên vùng chứa hiện có.

Có thể tạo thư mục trong máy chủ (ví dụ: /home/admin/wikimedia/extensions/) để được hợp nhất (không ghi đè) với thư mục extension trong vùng chứa không? Vì vậy, bất cứ khi nào tôi muốn cài đặt tiện ích mở rộng mới, tôi chỉ cần sao chép thư mục tiện ích mở rộng vào máy chủ /home/admin/wikimedia/extensions/

Trả lời

8

Bạn có thể gắn ổ đĩa từ máy chủ của mình đến một vị trí riêng biệt hơn thư mục tiện ích, sau đó trong tập lệnh khởi động, bạn có thể sao chép nội dung vào thư mục của vùng chứa. Bạn sẽ cần phải xây dựng lại máy chủ của bạn một lần.

Ví dụ:

Dockerfile: 
    RUN cp startup-script /usr/local/bin/startup-script 
    CMD /usr/local/bin/startup-script 

startup-script: 
    #!/bin/bash 
    cp /mnt/extensions /path/to/wikipedia/extensions 
    /path/to/old-startup-script [email protected] 

docker run -d -v /home/admin/wikimedia/extensions:/mnt/extensions wikipedia 

Đó là một cách để có được xung quanh vấn đề này, cách khác sẽ được duy trì một nơi chứa dữ liệu riêng biệt cho các phần mở rộng, sau đó bạn sẽ gắn kết này và duy trì nó bên ngoài của wikipedia thùng đựng hàng. Nó sẽ phải có tất cả các phần mở rộng trong đó.

Bạn có thể bắt đầu một mặt hàng như vậy:

docker run -d -v /home/admin/wikimedia/extensions:/path/to/wikipedia/extensions --name extensions busybox tail -f /dev/null 
docker run -d --volumes-from extensions wikipedia 
+0

là ' '/ mnt/extensions'' đường dẫn đến thư mục mở rộng trong máy chủ của tôi không? Cách tập lệnh khởi động truy cập tệp bên ngoài vùng chứa? –

+1

/mnt/extensions được gắn kết vị trí bên trong vùng chứa, tôi đã chỉnh sửa lệnh docker chạy đúng cách. – Michael

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