2017-08-08 15 views
5

Tôi muốn di chuyển trang php của tôi từ một máy ảo sang một thùng chứa docker. Trang web của tôi vẫn tồn tại tất cả các tệp được tải lên thư mục uploads. Bây giờ tôi muốn chuyển tất cả các tập tin vào S3 Storage và lưu các bản tải lên khác lên Amazon S3. Nhưng tôi không muốn viết lại lớp trình tải lên tệp php. Có thể tạo trong Docker thư mục liên kết tượng trưng hay thư mục ảo, sao cho tất cả ghi và đọc trên đường dẫn uploads/** được 'chuyển hướng' sang S3 Storage.Docker: liên kết thư mục `/ uploads` với Amazon S3 Storage

Docker hỗ trợ S3 Storage Driver nhưng tôi mới làm quen với docker và không biết cách thư mục sẽ được ánh xạ tới bộ nhớ s3 trong dockerfile. Không có ví dụ khác tôi đã tìm thấy.

Cảm ơn sự giúp đỡ của bạn.

Cập nhật: Vui lòng xem Taruns answer. Nếu bạn cũng biết rằng, Cổng lưu trữ AWS trên môi trường lưu trữ, là giải pháp tốt duy nhất, vui lòng upvote hoặc chia sẻ suy nghĩ của bạn.

Trả lời

4

Liên kết lưu trữ S3 mà bạn đã đăng là dành cho thiết lập Đăng ký Docker và không dành cho khối Docker. Những gì bạn cần là để ánh xạ một thư mục trên ổ cứng của bạn vào vùng chứa. Vì vậy, hãy giả sử bạn lập bản đồ /var/www/uploads trên máy chủ lưu trữ tới số uploads bên trong vùng chứa.

Bây giờ, những gì bạn muốn là /var/www/uploads để được gắn thực sự như một thư mục được sao lưu S3. Đối với Amazon này đã đưa ra một cổng lưu trữ AWS. Bạn có thể sử dụng nó để tạo một thư mục được sao lưu S3 trên hệ thống của bạn. Dưới đây là một bài viết từ Amazon có chi tiết cách cấu hình giống nhau

http://docs.aws.amazon.com/storagegateway/latest/userguide/ManagingLocalStorage-common.html

+0

Ồ, cảm ơn bạn đã làm rõ. Nó có nghĩa là nó không thể được giải quyết trên cấp docker. Chúng ta phải cấu hình môi trường lưu trữ cho điều này? Nhưng nếu tôi không có quyền truy cập vào môi trường lưu trữ, tôi chỉ muốn chỉnh sửa hình ảnh docker, để nó có thể chạy ở bất kỳ đâu. – tenbits

+0

Tôi cũng nghi ngờ vì 2 lý do. Nếu bạn nhìn vào thiết lập của nó, nó nói 'Chọn một loại Instance chúng tôi đề nghị m4.xlarge loại dụ' để chạy nó bên trong một container không có ý nghĩa. Tiếp theo họ cung cấp các thiết lập được cài đặt sẵn, vì vậy bạn có thể làm điều đó ở mọi nơi/bất cứ nơi nào –

+0

Cảm ơn bạn đã dành thời gian, Tarun. Điều cuối cùng tôi muốn hỏi để có được bức tranh rõ ràng: Khi một trình duyệt yêu cầu một số hình ảnh được tải lên, yêu cầu đi vào trong thùng chứa của chúng tôi đến thư mục 'upload', nó sẽ đi đến thư mục được sao lưu trong hệ thống của chúng tôi'/var/wwww/tải lên' và từ đó Cổng lưu trữ AWS xử lý 'read'. Khi tệp không tồn tại, nó sẽ chuyển đến đám mây, tải xuống tệp và cung cấp cho nó cách quay lại người dùng. Là đường ống, tôi hiểu, đúng không? Cảm ơn một lần nữa! – tenbits

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