第三部分 Docker数据管理

在这里插入图片描述
Docker的数据存储:

  1. Docker的存储分为镜像层和容器层;
  2. 容器是通过镜像构建的,通过同一个镜像构建的容器可以共享镜像层;
  3. 默认情况下Docker的数据放在容器层,但是这样存在无法持久化、不能轻易移动、消耗性能、不同镜像的容器不能共享数据等问题。

为了解决 容器层数据持久化及数据共享问题,使用了Docker volume数据外部挂载机制。
主要有3种方式:

  1. volumes:存储在主机文件系统中(/var/lib/docker/volumes/目录),并由Docker管理,非Docker进程无法修改文件系统的这个部分;
  2. bind mounts:可以存储在主机系统的任意位置,任何进程都能修改;
  3. 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 仓库名/镜像名

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐