温馨提示×

Ubuntu Docker如何实现数据持久化

小樊
39
2025-02-19 17:59:33
栏目: 智能运维
Ubuntu服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu中使用Docker时,实现数据持久化通常涉及将数据存储在容器外部的卷(volumes)或绑定挂载(bind mounts)上。以下是两种常见的方法:

方法一:使用Docker卷(Volumes)

  1. 创建卷

    docker volume create my_volume
    
  2. 运行容器并挂载卷

    docker run -d --name my_container -v my_volume:/path/in/container ubuntu
    

    这里,my_volume 是你创建的卷,/path/in/container 是容器内的路径。

  3. 验证数据持久化

    • 向容器内写入数据:
      docker exec -it my_container bash
      echo "Hello, World!" > /path/in/container/hello.txt
      exit
      
    • 删除容器:
      docker rm my_container
      
    • 重新创建并启动容器:
      docker run -d --name my_container -v my_volume:/path/in/container ubuntu
      
    • 验证数据是否仍然存在:
      cat /path/in/container/hello.txt
      

方法二:使用绑定挂载(Bind Mounts)

  1. 创建一个主机目录

    mkdir /my/host/directory
    
  2. 运行容器并挂载主机目录

    docker run -d --name my_container -v /my/host/directory:/path/in/container ubuntu
    

    这里,/my/host/directory 是主机上的目录,/path/in/container 是容器内的路径。

  3. 验证数据持久化

    • 向容器内写入数据:
      docker exec -it my_container bash
      echo "Hello, World!" > /path/in/container/hello.txt
      exit
      
    • 删除容器:
      docker rm my_container
      
    • 重新创建并启动容器:
      docker run -d --name my_container -v /my/host/directory:/path/in/container ubuntu
      
    • 验证数据是否仍然存在:
      cat /my/host/directory/hello.txt
      

注意事项

  • 数据安全:使用卷或绑定挂载时,确保主机目录的安全性,避免敏感数据泄露。
  • 备份:定期备份卷或绑定挂载的数据,以防数据丢失。
  • 权限:确保主机目录和容器内的路径具有适当的读写权限。

通过以上方法,你可以在Ubuntu中使用Docker实现数据的持久化存储。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:Docker如何在Ubuntu上实现数据持久化

0