游戏网站开发毕业设计,先做网站还是做APP,大学生网页设计作品,本地wordpress建站Docker数据卷是Docker中的一个核心机制#xff0c;用于实现容器间数据的持久化和共享。它是宿主机上的一个特殊目录#xff0c;可以供一个或多个容器使用。容器删除时#xff0c;不会删除其挂载的数据卷#xff0c;也不会存在类似的垃圾机制对容器存在的数据卷进行处理。
…Docker数据卷是Docker中的一个核心机制用于实现容器间数据的持久化和共享。它是宿主机上的一个特殊目录可以供一个或多个容器使用。容器删除时不会删除其挂载的数据卷也不会存在类似的垃圾机制对容器存在的数据卷进行处理。
容器数据卷的特性 持久性Docker数据卷是在宿主机上创建的目录或文件系统它独立于容器的生命周期。这意味着即使容器停止或删除数据卷中的数据仍然会被保留从而实现了数据的持久化存储。 共享性数据卷可以在不同的容器之间挂载和复用使得多个容器能够访问到相同的数据源。这种特性在微服务架构下的多容器协作中尤为重要因为不同的服务或组件可能需要共享某些数据。 高效性数据卷直接映射到宿主机的文件系统上因此相对于使用bind mounts绑定挂载或者通过容器内部文件系统读写数据具有更好的I/O性能。 实时性对数据卷的修改会立即生效无论是在容器内部还是在本地目录中对数据卷进行修改都能实时反映到其他地方。
1、容器数据卷的挂载
1.1 匿名目录挂载
1 创建容器的只给一个地址会将容器里面的地址挂载在宿主机下/var/lib/docker/volumes路径下生成
# 创建容器匿名挂载
docker run -ti -d --name my_nginx -p 8000:80 -v /home/wuzhibin nginx
# 查看容器信息
docker inspect my_nginx
2 查看容器数据卷挂载源件为容器中的数据件目标卷为宿主机上的数据卷 3 在宿主机上新建一个文件 4 在宿主机的文件映射到容器中 1.2 指定目录挂载
1 指定目录挂载相当于容器中的目录挂载到宿主机的指定目录下
# 创建容器
docker run -ti -d --name my_nginx -p 8000:80 -v /home/wuzhibin:/home/wuzhibin nginx
# 查看容器信息
docker inspect my_nginx 2 查看宿主机的目录下的文件大小 3 查看容器中挂载卷的文件大小 两个卷的文件是一致的不管哪个卷中的文件变化都会同步更新的
1.3 DockerFile 添加数据卷
一般我们构建镜像的都是通过DockerFile文件来构建镜像启动容器的不会通过命令单独对容器进行数据卷的挂载的, 但是请注意Dockerfile 不能直接指定数据卷映射或挂载, 也就是说Dockfile的挂载只能是匿名挂载
# 数据卷挂载的Dockersfile命令
VOLUME [/home/wuzhibin,/home/wuzhibin]
完整的Dockerfile文件
# Dockerfile
#基准镜像
FROM nginx:latest
#作者信息
MAINTAINER wuzhibin
#工作目录
WORKDIR /usr/local/src/
#设置容器中要挂在到宿主机的目录
VOLUME [/home/wuzhibin/nginx,/usr/local/nginx/html]
CMD [nginx, -g,daemon off;]
1 编译nginx镜像
# 新建的Dockerfile文件
vim Dokerfile
# 复制上面内容退出
# 编译docker镜像
docker build . -t my_nginx 2 查看编译的镜像
docker images 3 启动容器
docker run -ti -d --name my_nginx my_nginx 4 查看数据卷挂载情况
docker inspect my_nginx 2、数据卷容器
将一个容器的数据共享给一个挂载该容器的容器就是数据卷容器。这个容器充当一个数据卷其他挂载这个数据卷容器的容器之间数据共享。
1 运行数据卷容器
docker run --namedata_contain -v /home/wuzhibin:/home/wuzhibin -ti -d nginx 2、启动需要挂载数据卷的容器1和容器2
docker run -it -d --namemy_contain1 --volumes-from data_contain nginx
docker run -it -d --namemy_contain2 --volumes-from data_contain nginx 3、数据卷中添加数据其他容器中会同步
docker exec -ti data_contain bash
cd /hmoe/wuzhibin
echo hello world 1.txt 4 查看其他容器的数据 其他的容器中都存在数据卷容器的文件
上一章docker 的网络管理-CSDN博客
下一章DockerFile-CSDN博客