簡體   English   中英

Docker數據/命名卷

[英]Docker Data/Named Volumes

我想把心思放在Docker卷上,但是我必須缺少一些東西才能理解它。

假設我有一個Python應用程序,需要根據env變量進行一些初始化。 我想要實現的是擁有一個“僅代碼映像” ,從中可以啟動將在執行時掛載的容器。 然后, Main容器的入口點腳本將從“僅代碼”容器中讀取並在其中生成一些文件。

我試圖創建一個圖像以包含代碼的副本

FROM ubuntu    
COPY ./app /usr/local/code/app

然后docker create --name code_volume

並使用docker-compose:

app:  
    image: python/app
    hostname: app
    ports:
        - "2443:443"
    environment:
        - ENV=stuff
    volumes_from:
        - code_volume

我從應用程序容器中收到一條錯誤消息,說它無法在/ usr / local / code / app / src中找到文件,但是當我使用bash運行code_volume然后將ls放入文件夾中時,文件就坐在那里...

我試圖更改訪問權限,添加/ bin / true(在某些示例中看到了),但是我卻無法獲得想要的工作。 我檢查了docker volume create功能,但此后似乎是用於存儲/共享數據

我想念什么? 在裝入卷之前是否已執行入口點腳本? 對於這種情況,是否有不涉及裝入文件夾並為每個容器保留一個副本的最佳實踐? 我應該再考慮一下我的容器嗎?

創建后,您無需在code_volume容器上聲明該卷。

 docker create -v /usr/local/code/app --name code_volume

暫無
暫無

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

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