zoukankan      html  css  js  c++  java
  • docker学习系列(四):数据持久化

    需要搞清楚一个概念的是,docker的容器设计理念是可以即开即用,用完可以随意删除,而新建容器是根据镜像进行渲染,容器的修改是不会影响到镜像,但是有时候容器里面运行的产生的数据(如mysql)或者配置项(如nginx的nginx.conf)我们又需要保存起来的,因而我们需要对容器某些修改的数据进行挂载。

    下面介绍三种持久化数据的方式

    1.挂载磁盘到本地

    docker run -v 宿主目录:容器挂载的目录 镜像
    

    这时候docker会自动在对应的目录下进行挂载,值得注意的是,如果容器里面没有宿主机对应的目录,那么容器会自动创建对应的目录。如果没有指定宿主目录,那么会自动在/var/lib/docker/volumes/下进行挂载。

    2.使用数据容器

    可以选择创建docker容器,来作为共享数据的容器。

    # 创建数据容器
    docker create -v 宿主目录:容器目录 --name 数据容器名字 基于的环境
    # 挂载
    docker run --volumes-from 数据容器名字 镜像 
    
    

    3.持久化到镜像

    适用于镜像里的某些运行环境的修改,如php-fpm里面还需要多安装一个php-pdo之类的东西。

    # 保存更改并生成为一个新的image文件
    $ docker commit -m "mess" 镜像id 镜像名字
    

    操作挂载盘

    # 查看全部volume
    docker volume ls
    # 删除对应的volume
    docker volume rm volumeid
    
  • 相关阅读:
    mongodb 记录
    php保存文件
    调用AngularJS的API
    angular修改数据
    大小写转换
    使用Properties类动态加载配置文件里的内容
    org.apache.commons.cli.Options
    Google guava和Apache commons
    orc格式文件
    shell的awk命令使用
  • 原文地址:https://www.cnblogs.com/s-b-b/p/8600776.html
Copyright © 2011-2022 走看看