部署專案到docker容器的tomcat
一、使用命令檢視容器tomcat的路徑,如圖:
二、解決步驟一資料卷檢視,對映目錄出錯的。使用 “.Config.Volumes” 替換 “.Volumes” 如圖:
三、發現map是空值,說明此方法不能檢視容器tomcat的路徑。因此,如圖:
四、發現Mounts沒有掛載的路徑
五、新建docker_volume_tomcat資料夾,用於本地和docker掛載,如圖:
六、為了持久化資料以及共享容器間的資料,Docker提出了Volume(卷積數)的概念。
Volume就是目錄或者檔案,它可以繞過預設的聯合檔案系統,而已正常的檔案或者目錄的形式存在於宿主機上。如圖:
注:
docker_tomcat是tomcat的名字
-v用來宣告Volume,docker_volume_tomcat是步驟五建立的資料夾
畫紅框的tomcat是映象tomcat
七、檢視資料夾,如圖:
八、經過以上可以將docker_tomcat掛載到容器中,繞過預設的聯合檔案系統,我們可以在主機上直接操作該目錄。任何在改映象/docker_tomcat路徑的檔案都會被複制到Volume。使用docker inspect 命令找到Volume在主機上的儲存位置:
注:
1、說明Docker把在/var/lib/docker/volumes下的某個目錄掛載到了容器內的/docker_tomcat目錄下
2、每執行一次步驟六,都會在/var/lib/docker/volumes下建立某個目錄掛,即使刪掉容器和本地掛載路徑
(/docker_tomcat),也不會刪除/var/lib/docker/volumes的那個資料夾
因此:
1)刪除容器中的Volume
docker rm 很長的ID
2)刪除本機的孤單卷volume,如下命令,刪除全部未啟用的volume,如圖:
注:
1)若想刪除一個容器,先停止執行,如圖:
2)刪除指定容器,使用命令docker rmi 如圖:
3)若映象下面有2個相同的IMAGE ID,使用2)這種方式刪除會報錯,如圖:
4)應該按名字刪除,如圖:
5)再按照ID刪除,如圖: