簡體   English   中英

如何在啟動(AWS)時將數據從Docker容器復制到ECS?

[英]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使主機目錄可訪問來解決了問題,然后添加了一個用於查找主機目錄的卷並將其應用於webnginx容器。 運行web容器時,它將調用cp指令以將資產復制到安裝目錄(主機目錄)。 Nginx將看到填充的目錄並可以使用它。

注意: 這是一個臨時/解決方法,由於安全性,授予xrw訪問目錄不是一個好方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM