Docker是一种轻量级的虚拟化技术,可以实现在不同的运行环境下部署应用程序。而在Docker中,存储是一个非常重要的问题。
Docker提供了两种存储方式,分别是Volumes和Bind Mounts,下面我们来具体看一下它们的区别:
Volumes: - 可以在不同的容器之间共享数据 - Volumes是在Docker主机上创建的,可以独立于容器存在 - Volumes的数据是安全的,可以通过卷的名称进行访问 - 可以使用docker volume命令来管理卷
Bind Mounts: - 可以将主机上的目录/文件挂载到容器中 - 不支持在不同的容器之间共享数据 - 可以实现容器和主机间的数据共享
下面我们以存储菜鸟教程为例,来演示一下使用Volumes的方法:
# 创建一个名为"tutorial"的volume $ docker volume create tutorial # 运行一个容器 $ docker run -it -v tutorial:/app ubuntu # 在容器中安装wget工具 $ apt update $ apt install wget # 下载菜鸟教程并存储到/tutorial目录下 $ wget -P /tutorial https://www.runoob.com/wp-content/uploads/2020/07/html-tutorial.pdf # 退出容器 $ exit # 查看volume中的数据 $ docker run -v tutorial:/app --rm ubuntu ls /app
这样,我们就可以通过docker volume命令来管理这个volume了。