網上看到的不少所謂的掛載都是容器建立時期的掛載,並且參數都不清不楚,整理以下(--name別名本身加):linux
docker run -v /src/path:/dest/path:rw ${IMAGE} ${ENTRY_POINT args}
以上方法是不支持已經起來的運行時容器的,run表示create+start,是建立新容器。docker
docker不支持runtime的掛載其實有點不講道理,這種需求仍是有的,並且實現並不難,大不了重啓容器。json
一種hack方法參考:https://stackoverflow.com/questions/28302178/how-can-i-add-a-volume-to-an-existing-docker-container#answer-53516263緩存
思路是修改 config.v2.json 元信息,下面停掉整個docker服務是防止配置緩存一類的干擾。部分舊的linux,systemctl請自行替換成service。code
步驟以下:blog
1. docker stop $container_idget
2. systemctl stop dockerit
3. 修改docker container宿主機本地目錄下的config.v2.json中的 MountPoints項,模板參考SO回答裏的,或者參考你本身掛載的其餘VOLUMES目錄。io
4. systemctl start docker模板
5. docker start $container_id (這一步不必定是必須的,start docker會自動拉起容器)
6. docker exec -it $container_id ls $mount_path 檢查掛載是否成功