首页 > 其他分享 >[Docker]volume的创建与挂载

[Docker]volume的创建与挂载

时间:2023-04-13 16:37:15浏览次数:32  
标签:Volume 容器 创建 volume 挂载 Docker docker

在 Docker 中创建和挂载 Volume(卷)可以用于持久化保存数据和文件,便于容器间数据的共享。下面是创建和挂载 Volume 的一般步骤:

创建 Volume

可以使用以下命令在 Docker 中创建 Volume:

docker volume create <volume_name>

其中 <volume_name> 是你希望创建的卷名称,例如:

docker volume create mydata

挂载 Volume

在创建 Volume 后,可以使用 docker run 命令或 docker-compose 文件挂载 Volume 到容器中。以下是两种挂载 Volume 的方法:

1. 使用 docker run 命令

使用 docker run 命令时,可在命令中使用 -v 选项来挂载 Volume:

docker run -v <volume_name>:/<container_mount_point> <image_name>

其中 <volume_name> 是你创建的卷名称,<container_mount_point> 是容器内的文件路径,和 <image_name> 是容器要使用的镜像名称。例如:

docker run -v mydata:/home/data nginx

以上命令将在容器内创建一个 /home/data 目录,并将主机中的 mydata 目录挂载到该容器目录中(注意,冒号前面的为 Volume 名称,冒号后面的为容器内挂载路径)。

2. 使用 docker-compose 文件

使用 docker-compose 文件时,可在文件中使用 volumes 关键字来定义要挂载的 Volume:

services:
  app:
    image: my-image
    volumes:
      - <volume_name>:<container_mount_point>
volumes:
  <volume_name>:

其中 <volume_name> 是你创建的卷名称,<container_mount_point> 是容器内的目录路径。例如:

services:
  web:
    image: nginx
    volumes:
      - mydata:/home/data
volumes:
  mydata:

以上示例定义了一个名为 mydata 的卷,并将其挂载到容器中的 /home/data 目录中。

查看 Volume 列表

使用以下命令可以查看卷列表:

docker volume ls

这将列出所有在 Docker 中创建的卷。

需要注意的是,卷的生命周期与容器的生命周期不同。当容器被删除时,卷并不会自动删除。必须显式地删除未使用的卷,或将卷附加到新容器中。

总而言之,通过创建和挂载 Docker Volume,可以将持久化文件存储在 Docker 内部,以便在多个容器间共享数据。这为应用程序提供了更灵活的存储和共享选项。

标签:Volume,容器,创建,volume,挂载,Docker,docker
From: https://www.cnblogs.com/Skybiubiu/p/17315284.html

相关文章

  • [Docker]Namespace与Cgroups
    目录什么是Namespace?Namespace的类型Namespace的实现和使用什么是Cgroups?Cgroups的特征Cgroups的使用总结参考连接什么是Namespace?Namespace是Linux容器技术的一个重要概念,其作用是对运行于其中的进程提供隔离,确保容器和宿主机之间是完全隔离的。Namespace在Linux......
  • Docker MySql8 创建、删除、授权用户
    1、登录MySql8#登录数据库dockerexec-itmysql8mysql-uroot-proot123456#切换数据库实例usemysql;2、用户操作2.1、查看用户selecthost,user,authentication_string,pluginfromuser;2.2、创建本地用户#创建一个用户名为admin,密码为admin123456的......
  • 1 容器操作 、2 应用部署、3 迁移与备份、 4 Dockerfile
    目录1容器操作2应用部署2.1mysql部署2.2redis2.3nginx3迁移与备份4Dockerfile1容器操作#启动容器 dockerstart容器id#停止容器 dockerstop容器id#文件拷贝 #容器的文件copy到宿主机上(不是在容器内执行)dockercp容器名称:容器目录需要拷贝的文件或......
  • kubernetes persistentVolumeClaim保留机制
    1.默认StatefulSet删除以后,对应的pvc默认是会保存的。2.控制  在1.23以后,有可选 .spec.persistentVolumeClaimRetentionPolicy 字段控制在StatefulSet的生命周期中是否保留或者删除PVC。  您必须启用StatefulSetAutoDeletePVCfeaturegate才能使用此字段。启用......
  • Docker 镜像制作
    容器转为镜像容器转为镜像dockercommit容器id镜像名称:版本号镜像生成压缩文件dockersave-o压缩文件名称镜像名称:版本号压缩文件解压为镜像dockerload-i压缩文件名称 Dockfile生成镜像......
  • a note when using docker locally
    whenbuildingthegetting-startedapplicationprovidedbyofficialsite,Igotaerrorsaying, #0138.4node-pre-gypERR!installrequesttohttps://github.com/TryGhost/node-sqlite3/releases/download/v5.1.2/napi-v6-linux-musl-x64.tar.gzfailed,reason:so......
  • 在dockerfile中使用非root用户
    16、在dockerfile中使用非root用户前言:当在运行容器时,默认都是以root的账号进行启动的,但这个root账号和宿主机的root账号的权限是不一样的,会受到capabilities的限制。那如果是非特权的容器,使用容器的root账号启动是否安全的呢。(1)启动一个centos-test的容器#dockerrun......
  • PaddleSpeech docker develop-gpu-cuda10.2-cudnn7-latest 缺失 libsndfile1-dev 和
    Paddle可以說是各種坑,但支持國產,含淚試用了百度飛漿的Speech。1.坑點Dockerdevelop-gpu-cuda10.2-cudnn7-latest缺失:1.libsndfile1-dev2.CUDA_VISIBLE_DEVICES 2.安裝教程也沒什麼安裝教程。下載docker鏡像和項目源碼。dockerpullpaddlecloud/paddlespeech:devel......
  • Linux将MySQL数据库目录挂载至新数据盘
    https://www.bbsmax.com/A/QW5YRE1Mdm/具体操作 Mysql如何挂盘?使用linux下的软连接方法,具体操作如下:(以迁移到/home/mysql/目录为例)先停止mysql:/etc/init.d/mysqldstop移动数据:mv/var/lib/mysql/*/home/mysql/创建软连接:ln-s/home/mysql//var/lib/mysql/启动......
  • CentOS安装Docker、Docker-Compose
    一、安装Docker二、安装Docker-Compose2.1sudocurl-L"https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose2.2安装完后执行:sudochmod+x/usr/local/bin/docker-compose......