Docker 持久化:数据卷、绑定挂载、共享卷和 VOLUME 指令
Docker 持久化是指将容器中的数据持久保存在宿主机上,防止容器重启或删除后数据丢失。Docker 提供了多种持久化方式,包括:
-
数据卷 (Volume):数据卷是容器与宿主机之间的一个目录或文件,容器中的数据可以持久保存在该目录或文件中,即使容器被删除,数据也依然存在于宿主机上。创建数据卷的方法如下:
# 创建一个名为 'mydata' 的数据卷,映射到容器中的 '/data' 目录 docker volume create mydata docker run -d --name mycontainer -v mydata:/data myimage -
绑定挂载 (Bind Mount):绑定挂载是将宿主机上的目录或文件直接挂载到容器中,容器中的数据也可以持久保存在宿主机上。创建绑定挂载的方法如下:
# 将宿主机上的 '/data' 目录绑定到容器中的 '/data' 目录 docker run -d --name mycontainer -v /data:/data myimage -
容器间共享卷:多个容器可以共享同一个数据卷,使得它们之间可以共享数据。创建容器间共享卷的方法如下:
# 创建一个名为 'mydata' 的数据卷,并将其挂载到多个容器中 docker volume create mydata docker run -d --name container1 -v mydata:/data myimage docker run -d --name container2 -v mydata:/data myimage -
Dockerfile 中的 VOLUME 命令:在 Dockerfile 中通过 VOLUME 命令来指定某个目录或文件为数据卷,可以让容器在启动时自动将数据卷挂载到指定的目录或文件中。Dockerfile 中的 VOLUME 命令示例:
FROM myimage VOLUME /data CMD ["mycommand"]
以上是常用的 Docker 持久化方式,可以根据实际情况选择合适的方式。
原文地址: https://www.cveoy.top/t/topic/oLxW 著作权归作者所有。请勿转载和采集!