中山市网站开发公司,中国企业500强最新排名,linux版网站开发,中国包装创意设计大赛一、挂载和数据卷
在 Docker 中#xff0c;挂载#xff08;Mounting#xff09;和数据卷#xff08;Data Volumes#xff09;是用于在容器和宿主机之间共享数据的机制。
挂载#xff1a;将宿主机文件系统中的目录或文件与容器中的目录或文件进行关联的过程。数据卷挂载Mounting和数据卷Data Volumes是用于在容器和宿主机之间共享数据的机制。
挂载将宿主机文件系统中的目录或文件与容器中的目录或文件进行关联的过程。数据卷一种特殊的目录可以绕过容器文件系统直接与宿主机文件系统进行交互。
1.1 为什么要使用数据卷
如果数据都在容器中那么把容器删除以后数据也会随之丢失所以要把数据进行数据持久化。 如mysql容器容器删了里面的数据就都没了容器之间可以有一个数据共享的技术使得容器和宿主机实现数据共享。Docker容器中产生的数据也会同步到宿主机中。
1.2 使用数据卷的好处
如修改数据库的配置文件还要进入容器里面修改比较麻烦。当挂载以后只需要在本地修改会即可容器会自动同步。 - 挂载以后会占用磁盘两份存储即容器内占一份宿主机占一份。挂载以后删除容器以后宿主机对应的挂载目录不会删除。
二、挂载数据卷的方式
可以直接使用docker run -it -v命令来实现数据卷挂载挂载数据卷命令如下
docker run -it -v 宿主机路径:容器内路径其中宿主机路径为绝对路径
容器起来以后挂载以后使用docker inspect 容器id 查看目录是否挂载成功
docker inspect 容器id
# 搜索Mounts这里面就是目录的挂载信息
# Source:主机内路径
# Destinationdocker容器内的路径
# 如果Mounts这里不展示挂载信息就说明是挂载失败了三、具体样例
sudo docker run -it -v /home/Project/data:/data test:1.0挂载信息如下
宿主机路径/home/Project/data容器路径/data镜像名称image-test:1.0
接下来我们可以查看容器是否正常启动运行起来
sudo docker ps -a查看容器挂载信息
sudo docker inspect 921ea03a66ea搜索Mounts这里面就是目录的挂载信息其中
Source:主机内路径Destinationdocker容器内的路径
如果Mounts这里不展示挂载信息就说明是挂载失败了。
注意实现数据卷挂载以后容器停止以后往宿主机的挂载目录写入对应的数据此时数据也会同步到容器内对应的目录。