volume、bind、mount
將docker主機資料掛載到容器中
docker提供三種不同的方式將資料從宿主機掛載到容器中:volumes、bind mounts和tmpfs
volumes:docker管理宿主機檔案系統的一部分(/var/lib/docker/volumus)
bind mounts:可以儲存在宿主機系統的任意位置
tmpfs:掛載儲存在宿主機系統的記憶體中,而不會寫入宿主機的檔案系統
檢視volume
# docker volume ls
建立乙個volume,建立的卷位置位於/var/lib/docker/volumes
# docker volume create nginx-vol
檢視volume卷的詳細資訊
# docker volume inspect nginx-vol
使用卷建立容器(可以多個容器共用乙個資料卷,資料共享),如果卷沒有指定,會自動建立乙個匿名卷# docker container run -itd --name=nginx-test -p 8082:80 --mount src=nginx-vol,dst=/usr/share/nginx/html nginx
# docker container run -itd --name=nginx-test -p 8082:80 -v nginx-vol:/usr/share/nginx/html nginx
刪除所有的容器# docker container rm -f $(docker ps -q -a)
清理volume卷:# docker container stop nginx-test
# docker container rm nginx-test
# docker volume rm nginx-vol
繫結乙個宿主機上已經存在的目錄,用來建立乙個容器,宿主機目錄必須存在# docker container run -itd --name=nginx-test --mount type=bind,src=/opt/wwwroot,dst=/usr/share/nginx/html nginx
# docker container run -itd --name=nginx-test -v /opt/wwwroot:/usr/share/nginx/html nginx
驗證繫結是否成功# docker container inspect nginx-test
清理# docker container stop nginx-test
# docker container rm nginx-test
Docker 資料卷管理
資料卷介紹 宿主機無法直接訪問容器中的檔案 容器中的檔案沒有持久化,導致容器刪除後,檔案資料也隨之消失 容器之間無法直接訪問相互的檔案 為解決這些問題,docker加入了資料卷 volumes 機制,能很好解決上面問題,以實現 容器與主機之間,容器與容器之間共享檔案 容器中的資料持久化 將容器中的資...
Docker 資料卷管理
建立資料卷 管理資料卷許可權 1.docker run v hostdir guestdir privileges2.卷共享應用,配置,資料等 掛載宿主機檔案 使用資料卷容器共享資料 1.建立資料卷容器 docker create v shiyanloudata name shiyanloudb u...
swarm管理應用資料
將宿主機資料掛載到容器 volume 建立容器和資料卷 docker service create mount type volume src nginx vol dst usr share nginx html replicas1 name test01 nginx檢視test01容器部署在那台機...