Docker中的卷

Docker中的卷

💡 原文约700字/词,阅读约需3分钟。
📝

内容提要

卷用于将应用程序或数据库生成的数据文件与容器存储分开,确保数据在容器删除后仍然存在。通过创建卷,可以在Docker中共享数据并保持数据持久性。示例展示了如何创建MySQL数据库卷,并在删除容器后保留数据。

🎯

关键要点

  • 卷用于将应用程序或数据库生成的数据文件与容器存储分开。
  • 卷确保数据在容器删除后仍然存在,允许替换容器而不丢失数据。
  • 卷的主要用途包括:在容器移除时保持数据、在主机文件系统与Docker容器之间共享数据、在Docker容器之间共享数据。
  • 创建卷的命令为:docker volume create meu_volume。
  • 运行带有卷的容器的命令为:docker run -d --name meu_container -v meu_volume:/app/data nginx。
  • 创建MySQL数据库卷的命令为:docker volume create dadosdb。
  • 使用命令docker volume ls可以检查已创建的卷。
  • 从MySQL镜像创建容器的命令为:docker run -d --name mysql -v dadosdb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=numsey mysql:5.7。
  • 使用-v选项可以确保数据在容器删除后仍然保留。
  • 进入MySQL容器的命令为:docker exec -it mysql bash。
  • 在MySQL中创建新数据库的命令为:CREATE DATABASE meubanco;。
  • 移除容器的命令为:docker rm mysql。
  • 可以创建新的容器并使用相同的卷,数据将会保留。

延伸问答

Docker中的卷有什么作用?

卷用于将应用程序或数据库生成的数据文件与容器存储分开,确保数据在容器删除后仍然存在。

如何在Docker中创建一个卷?

可以使用命令:docker volume create meu_volume 来创建一个卷。

如何确保数据在容器删除后仍然保留?

使用-v选项在运行容器时挂载卷,例如:docker run -d --name meu_container -v meu_volume:/app/data nginx。

如何在MySQL中创建新的数据库?

在进入MySQL容器后,可以使用命令 CREATE DATABASE meubanco; 来创建新数据库。

如何检查已创建的卷?

可以使用命令 docker volume ls 来列出所有已创建的卷。

如果不使用卷,数据会发生什么?

如果不使用-v选项,数据将在每次容器删除时被清除。

➡️

继续阅读