[英]How to copy data from docker container to ECS on startup (AWS)?
我有兩個容器,一個是基於帶有assets
目錄的Node.JS的Web服務器 。 另一個容器是nginx ,它代理對Web服務器的頁面請求並從assets
目錄獲取靜態信息。
我創建了AWS集群,EC2實例,構建了docker映像並將其推送到注冊表,完成了部署應用程序的任務,但是我無法與assets
目錄共享到nginx,因為目錄不屬於此容器。
因此,為了解決我的問題,我想出了創建EFS並附加卷,為ec2-user添加權限並通過/var/html/assets
路徑使目錄可用的方法。
酷,如何將資產內容從Web服務器Docker容器復制到 /var/html/assets
?
我想將其設為公開/共享,因為很快我將制作其他服務器,這些服務器也應將資產放置到此公共目錄中。
這個過程應該自動化並且可以在每個部署上工作,伙計們,有什么建議嗎? 謝謝!
要將資產內容從Web服務器docker容器復制到主機,例如,您要將資產內容從容器保存到主機上的/ var / html / assets,請使用以下命令運行容器:
docker run --name=nginx -d -v ~/var/html/assets:[Your Container path] -p 5000:80 nginx
-v〜/ var / html / assets:[您的容器路徑]設置一個綁定安裝卷,該卷將Nginx容器內部的[您的容器路徑]目錄鏈接到主機上的〜/ var / html / assets目錄。 Docker使用:來將主機路徑與容器路徑分開,並且主機路徑始終排在最前面。
希望對您有所幫助!
我通過編寫chmod 777 /var/html/assets
使主機目錄可訪問來解決了問題,然后添加了一個用於查找主機目錄的卷並將其應用於web
和nginx
容器。 運行web
容器時,它將調用cp
指令以將資產復制到安裝目錄(主機目錄)。 Nginx將看到填充的目錄並可以使用它。
注意: 這是一個臨時/解決方法,由於安全性,授予xrw訪問目錄不是一個好方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.