在docker容器上添加新的映射卷


起因

  • 在很多情況下,在啟動docker時會用-v參數添加映射卷,但是很多情況是,在容器里面安裝了很多模塊之后,才發現漏添加某些卷,這時就需要添加新卷的辦法

解決方案

方案1

  • 把容器保存為鏡像,然后用-v參數添加新的卷。這個方式比較麻煩,建議不用

方案2

停止容器,直接修改容器配置文件

  • 停止容器
# docker stop 容器名稱
  • 停止docker服務
    如果不停止服務的話,修改配置文件會被docker重新覆蓋,無法使文件生效,如果手足夠快也可以,但是幾乎是不可能的
# systemctl stop docker
  • 修改配置文件
    配置文件在/var/lib/docker/containers目錄,要注意檢查自己想修改容器的ID,與子目錄的名稱是匹配的,要修改兩個配置文件,如下
# vi /var/lib/docker/containers/容器ID/config.v2.json
	"MountPoints": {
		"主機路徑": {
			"Source": "主機路徑",
			"Destination": "容器路徑",
			"RW": true,
			"Name": "",
			"Driver": "",
			"Type": "bind",
			"Propagation": "rprivate",
			"Spec": {
				"Type": "bind",
				"Source": "主機路徑",
				"Target": "容器路徑"
			}
		}
	}
# vi /var/lib/docker/containers/容器ID/hostconfig.json
	"Binds": [
		"主機路徑:容器路徑"
	],

要注意標題符號呀,切記切記

  • 重啟docker服務
# systemctl start docker
  • 啟動容器
# docker start 容器id


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM