[英]Docker image mounting the existing data volume for nexus
我在一個卷上有來自當前版本(3.3.1)的數據,我希望數據顯示在新的關系中。 當我嘗試在 docker 運行命令和 go 下連接到 nexus 時,沒有顯示新的存儲庫,但舊存儲庫的數據在那里。
docker run -d -p 8081:8081 --name nexus -v <local-docker-volume>:/nexus-data newimage
我用來創建圖像的 Dockerfile
FROM sonatype/nexus3:3.17.0
COPY path-to-bak-files/*.bak /nexus-data/restore-from-backup/
知道我做錯了什么嗎?
ps:如果我不清楚,請告訴我。
根據您的 dockerfile 您正在將內容復制到/nexus-data/restore-from-backup/
但是在運行容器時,您將現有卷安裝在/nexus-data
上,這最終掩蓋了文件系統上的/nexus-data
目錄在容器內(在創建圖像時添加數據的地方)。
掛載操作中需要注意的重要一點是,如果您在文件系統 (FS) 的現有目錄上掛載另一個磁盤/共享(在本例中為卷),則無法再從 FS 訪問該目錄。 因此,當您創建 docker 映像時,您向 /nexus-data/restore-from-backup/ 添加了一些文件,但是當您在 /nexus-data 上安裝卷時,您將其安裝在 FS 中的 dir 上,因此您看不到文件現在從你的FS。
要解決此問題,您可以執行以下操作:
location1
location1
復制到/nexus-data/restore-from-backup/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.