美文网首页
02-docker之数据卷

02-docker之数据卷

作者: cjxz | 来源:发表于2022-04-29 16:13 被阅读0次

    数据卷

    如果我启动一个redis数据库,然后添加了很多key和value,假设突然宕机。我的数据就全部不见了,当再次通过redis的镜像启动时,之前的key-value肯定都丢失了,所以我们需要一个方式将容器的数据和宿主机的目录映射起来。当操作redis的某些文件时,可以直接在宿主机上面看到对应的数据。这就是数据卷

    1.解决什么问题

    有些容器在使用过程中需要将数据持久化宿主机上面,以备后面重启容器可以加载已经存在的数据

    2.使用什么方式增加数据卷

    docker run -it -v /宿主机绝对路径:/容器内目录 镜像名
    

    -v就是添加数据卷

    3.两个对比实验

    实验1:未使用数据卷启动redis

    1.拉取redis镜像

    docker pull redis
    

    2.启动redis镜像

    docker run -it redis
    

    3.使用redis-cli连接redis

    1.查询redis容器的id
    docker ps -a
    2.使用exec在指定容器中执行redis-cli
    docker exec -it 9111 redis-cli
    3.设置一些键值对
    set a a
    

    4.退出redis-cli和redis

    5.再次启动redis和redis-cli查看是否存在a

    docker run -it redis
    docker ps -a
    docker exec -it b1ba443dfc8e redis-cli
    127.0.0.1:6379> get a
    (nil)
    

    实验2:使用数据卷的方式启动redis

    1.启动redis

    docker run -p 6379:6379 -v /root/myredis/data:/data -v /root/myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf  -d redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes
    

    2.使用redis-cli添加一些键值对

    由于有端口映射,所以可以直接在宿主机上面执行redis-cli

    然后使用set a a

    然后关闭客户端

    3.重启redis

    使用docker stop 容器id

    使用docker start 容器id

    4.检查2中添加的键值对是否存在

    直接在宿主机上面执行redis-cli验证2中的key是否存在

    实验3:启动一个centos指定一个目录挂在到宿主机

    相关文章

      网友评论

          本文标题:02-docker之数据卷

          本文链接:https://www.haomeiwen.com/subject/ilmsyrtx.html