首页 > 其他分享 >Docker存储

Docker存储

时间:2025-01-05 22:55:39浏览次数:1  
标签:+--------------------+ 容器 存储 run nginx mysql docker Docker

Docker存储

默认情况下,在运行的容器里创建的文件,被保存在一个可写的容器层。

  • 如果容器被删除了,则数据也没有了
  • 这个可写的容器层是和特定的容器绑定的,也就是这些数据无法方便的和其他容器共享。

Docker主要提供了两种方式做数据的持久化

  • DataVolume,由Docker管理,(/var/lib/docker/volumes/),持久化数据的最好方式
  • Bind Mount,由用户指定存储的数据具体Mount在系统什么位置

DataVolume

指定volumes名称

Data Volume练习MySQL

使用MySQL官方镜像,tag版本为5.7

准备镜像

docker pull mysql:5.7

image-20250104220955420

创建容器

创建容器并制定数据卷

docker container run --name mysql_5.7 -e MYSQL_ROOT_PASSWORD=123456 -d -v mysql-data:/var/lib/mysql mysql:5.7

查看容器的数据卷信息

docker volume inspect mysql-data

image-20250104221249722

写入数据

进入MySQL的shell,密码是123456

docker container exec -it fac3a /bin/bash
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

创建demo数据库

mysql> create database demo;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

查看data volume

docker volume inspect mysql-data

image-20250104221648681

可以看到, 在数据卷中同步到了demo库的相关数据信息。

具名和匿名挂载

# 匿名挂载
-v 容器内路径
docker run -d -P --name nginx01 -v /etc/nginx nginx

# 查看所有卷
docker volumne -ls
local    845654564896456145615231456456415641564564654564654564156
# 这种 -v 只写了容器内的路径,没有写容器外的路径!

# 具名挂载
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx

# 查看所有卷
docker volumne -ls




Bind Mount

bind mount指定宿主机上的具体路径

# 对于linux / mac
docker container run -d $(pwd ):/usr/local/ 
# 对于windows,并且需要在desktop中配置share foilder path
docker container run -d ${pwd}:/usr/local

标签:+--------------------+,容器,存储,run,nginx,mysql,docker,Docker
From: https://www.cnblogs.com/shine-rainbow/p/18654107

相关文章

  • 在Ubuntu WSL2里配置GDAL Docker环境
    在UbuntuWSL2里配置GDALDocker环境启用systemd#Ubuntu中执行echo-e"[boot]\nsystemd=true"|sudotee-a/etc/wsl.conf#PowerShell中执行wsl--shutdown#Ubuntu中执行ps--no-headers-ocomm1配置Ubuntu国内源科大源sudorm-rf/etc/apt/sources.lists......
  • 菜鸟教程:存储类
    菜鸟教程:存储类 上代码,他文中说的 “下面是一个展示不同存储类说明符的实例”#include<iostream>//全局变量,具有外部链接,默认存储类为externintglobalVar;voidfunction(){//局部变量,具有自动存储期,默认存储类为autoautointlocalVar=10;//静......
  • docker dns
    docker容器添加自定义hostshttps://www.cnblogs.com/erlou96/p/13884130.html方案一启动时增加hosts,参考自dockerdocs dockerrun-d--nametest1\--add-hosttest1.a:1.2.3.4\local/test 方案二docker-compose.yml文件指定,参考自stackoverflow test2:b......
  • 《docker基础篇:7.Docker容器数据卷》包括坑、回顾下上一讲的知识点,参数V、是什么、更
    @目录7.Docker容器数据卷7.1坑7.2回顾下上一讲的知识点,参数V7.3是什么7.4能干嘛7.5数据卷案例7.5.1宿主vs容器之间映射添加容器卷7.5.2读写规则映射添加说明7.5.3卷的继承和共享本人其他相关文章链接7.Docker容器数据卷7.1坑容器卷记得加入:--privileged=true问题:why......
  • 浏览器本地存储 WebStorage包括localstorage sessionstorage
    一、概念浏览器端通过sessionstorage和localstorage属性来实现本地存储 二、相关API//设置,keyvalue,key若存在,则则更新value,value为字符串,需要使用JSONlocalStorage.setItem('msg','Hello')sessionStorage.setItem('msg','Hello')//获取value,根据key,value是字符串,......
  • 非一般的小数:小数的概念新解、小数分类、浮点数的存储
    非一般的小数:小数的概念新解、小数分类、浮点数的存储一、小数的概念二、小数的分类1.有限小数、无限循环小数、无限不循环小数2.纯小数、带小数3.定点数、浮点数三、浮点数的存储一、小数的概念这还用解释吗?小学三年级就开始学,你当我是吃干饭的?那么,请尝试回答以下几......
  • Unity中常用的数据存储方式
    1.PlayerPrefs(轻量级存储)用途保存简单的键值对数据,例如音量、分数、关卡进度等。数据存储在本地设备上。优点使用简单。跨平台支持。缺点适合轻量数据,不适合大规模数据。数据未加密,容易被篡改。示例代码usingUnityEngine;publicclassPlayerPrefsExample:MonoBe......
  • docker 安装doris
    下载镜像dockerpullapache/doris:build-env-ldb-toolchain-latest下载安装包https://doris.apache.org/zh-CN/downloadwgethttps://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.1.7-bin-x64.tar.gz然后需要下载MySQL,这里提供MySQL的免......
  • Docker 超强进阶!手把手部署 AllInOne,永久电视直播+自动更新,转载
    1、allinone指令:dockerrun-d--restartunless-stopped--net=host--privileged=true-p35455:35455--nameallinoneyoushandefeiyang/allinone 2、配置watchtower每天凌晨两点自动监听allinone镜像更新指令:dockerrun-d--namewatchtower--restartunless-stopped......
  • 无人值守24小时直播!Docker、群晖NAS配置
     无人值守24小时直播!Docker、群晖NAS配置第一节.部署以Docker命令行和群晖NAS中docker部署AntMediaServer为例:Docker命令建立容器:markdown dockerrun--nameams-d--net=hostnibrev/ant-media-server:latestMarkdownCopy群晖图形化部署:打开群晖Do......