Docker数据管理
第三部分 Docker数据管理Docker的数据存储:Docker的存储分为镜像层和容器层;容器是通过镜像构建的,通过同一个镜像构建的容器可以共享镜像层;默认情况下Docker的数据放在容器层,但是这样存在无法持久化、不能轻易移动、消耗性能、不同镜像的容器不能共享数据等问题。为了解决 容器层数据持久化及数据共享问题,使用了Docker volume数据外部挂载机制。主要有3种方式...
·
第三部分 Docker数据管理
Docker的数据存储:
- Docker的存储分为镜像层和容器层;
- 容器是通过镜像构建的,通过同一个镜像构建的容器可以共享镜像层;
- 默认情况下Docker的数据放在容器层,但是这样存在无法持久化、不能轻易移动、消耗性能、不同镜像的容器不能共享数据等问题。
为了解决 容器层数据持久化及数据共享问题,使用了Docker volume数据外部挂载机制。
主要有3种方式:
- volumes:存储在主机文件系统中(/var/lib/docker/volumes/目录),并由Docker管理,非Docker进程无法修改文件系统的这个部分;
- bind mounts:可以存储在主机系统的任意位置,任何进程都能修改;
- tmpfs mounts:只存储在主机系统的内存中,并不写入到主机的文件系统中。
#创建volume
docker volume create my-vol
#查看volume
docker volume ls
#启动容器挂载volume
docker run -d -p 80:80 --name dockernginx4 --mount source=my-vol,target=/app dockernginx
或者
docker run -d -p 80:80 --name dockernginx4 -v my-vol:/app dockernginx
#在启动服务时
docker service create --network my-mult-host-network --name nginx --replicas 1 --publish 8080:80 -v my-vol:/app 仓库名/镜像名
更多推荐
已为社区贡献15条内容
所有评论(0)