docker:持久化存储
2023-09-27 14:27:10 时间
背景
我们知道,在容器这一层是可以读写的,镜像是不能读写的。
比如当我们用 docker 启动一个 mysql 容器,那么读写只是发生在容器这一层,当我们把容器停掉,这些数据就会丢失,这肯定是我们不能忍受的,所以 docker 提供了持久化存储的方案:
基于本地文件系统的Volume
文件同步一份到本地
在执行 docker create 或 docker run 的时候,通过 -v 参数将主机的目录作为容器的数据卷
https://hub.docker.com/_/mysql?tab=description&page=1&ordering=last_updated
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:lasted
# 查看已经有的volume
sudo docker volume ls
# 查看volume细节
sudo docker volume inspect volume_id
sudo docker volume rm volume_id
# 给volume起个别名为mysql,并映射文件地址
sudo docker run -v mysql:/var/lib/mysql
1、受管理的Volume(data Volume)
由 docker 后台自动创建,主要针对容器是数据源的产生的情况,我们不想让这些文件随着容器的消失而消失
VOLUME ["/var/lib/mysql"]
sudo docker run -v mysql:/var/lib/mysql
2、绑定挂载的Volume(bind Mouting)
具体挂载位置由用户指定,也就是说在容器运行的时候指定地址映射
sudo docker run -d -v $(pwd):/usr/share/nginx/html -p 80:80 --name web zy/nginx
这样你在容器的这个目录 /usr/share/nginx/html
里的文件,会同步到容器外的当前目录。
基于Plugin的Volume
支持第三方的存储方案,如 NAS、aws
相关文章
- 什么是docker的存储驱动?有什么作用?
- 测试开发 | Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台
- Docker应用
- Docker环境下Spring Boot应用内存飙升分析与解决
- Docker Swarm 维护模式
- 测试必备的15个docker命令,你都掌握了吗
- Docker技术入门与实战(第2版)1.1 什么是Docker
- Docker 容器使用
- Docker入门与实战讲解
- Docker环境搭建与使用:运行一个Web应用示例
- Docker修改默认存储位置(转)
- 【Python分布式服务框架】Docker部署Postgresql主从复制模式
- 配置Docker中国区官方镜像http://get.daocloud.io/ 很好的一个源http://get.daocloud.io/#install-docker
- Docker 常用命令
- 为Docker Trusted Registry配置OSS对象存储
- docker安装redis