Docker 持久化是指将容器中的数据持久保存在宿主机上,防止容器重启或删除后数据丢失。Docker 提供了多种持久化方式,包括:

  1. 数据卷 (Volume):数据卷是容器与宿主机之间的一个目录或文件,容器中的数据可以持久保存在该目录或文件中,即使容器被删除,数据也依然存在于宿主机上。创建数据卷的方法如下:

    # 创建一个名为 'mydata' 的数据卷,映射到容器中的 '/data' 目录
    docker volume create mydata
    docker run -d --name mycontainer -v mydata:/data myimage
    
  2. 绑定挂载 (Bind Mount):绑定挂载是将宿主机上的目录或文件直接挂载到容器中,容器中的数据也可以持久保存在宿主机上。创建绑定挂载的方法如下:

    # 将宿主机上的 '/data' 目录绑定到容器中的 '/data' 目录
    docker run -d --name mycontainer -v /data:/data myimage
    
  3. 容器间共享卷:多个容器可以共享同一个数据卷,使得它们之间可以共享数据。创建容器间共享卷的方法如下:

    # 创建一个名为 'mydata' 的数据卷,并将其挂载到多个容器中
    docker volume create mydata
    docker run -d --name container1 -v mydata:/data myimage
    docker run -d --name container2 -v mydata:/data myimage
    
  4. Dockerfile 中的 VOLUME 命令:在 Dockerfile 中通过 VOLUME 命令来指定某个目录或文件为数据卷,可以让容器在启动时自动将数据卷挂载到指定的目录或文件中。Dockerfile 中的 VOLUME 命令示例:

    FROM myimage
    VOLUME /data
    CMD ["mycommand"]
    

以上是常用的 Docker 持久化方式,可以根据实际情况选择合适的方式。

Docker 持久化:数据卷、绑定挂载、共享卷和 VOLUME 指令

原文地址: https://www.cveoy.top/t/topic/oLxW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录