详解docker挂载目录常用方式

前言

在Docker中的container挂载新的文件目录,可以通过以下几种方式实现,具体来看看吧。

1. 使用-v参数在容器启动时挂载目录

在启动容器时,可以通过-v参数将宿主机上的目录挂载到容器中。例如,要将宿主机上的/home/user/new_data目录挂载到容器中的/new_data目录,可以使用以下命令:

bash 复制代码
docker run -v /home/user/new_data:/new_data image_name
  • /home/user/new_data:宿主机上的目录路径。
  • /new_data:容器中的目录路径。
  • image_name:要启动的镜像名称。

2. 使用数据卷(Volume)挂载

Docker数据卷是一种可以在多个容器之间共享的特殊目录。可以通过以下步骤创建和使用数据卷:

2.1 创建数据卷
bash 复制代码
docker volume create my_new_volume
2.2 挂载数据卷到容器

在启动容器时,可以使用--mount-v参数将数据卷挂载到容器中。例如:

bash 复制代码
docker run --mount source=my_new_volume,target=/new_data image_name
# 或者
docker run -v my_new_volume:/new_data image_name
  • my_new_volume:创建的数据卷名称。
  • /new_data:容器中的目录路径。
  • image_name:要启动的镜像名称。

3. 修改已运行容器的配置(不推荐)

对于已经运行的容器,通常不推荐直接修改其配置文件来添加挂载目录,因为这可能导致容器状态不稳定或数据丢失。但如果确实需要这样做,可以:

3.1 找到容器配置文件的位置

Docker容器的配置文件通常存储在/var/lib/docker/containers/目录下,每个容器都有一个对应的文件夹。

3.2 修改配置文件

在容器的配置文件中,可以添加新的挂载点配置。但请注意,直接修改配置文件可能导致Docker守护进程重启后配置失效。

4. 使用docker cp命令复制文件到容器中

如果不希望通过挂载的方式将文件目录添加到容器中,也可以使用docker cp命令将文件从宿主机复制到容器中。例如:

bash 复制代码
docker cp /home/user/new_data/file.txt container_name:/new_data/
  • /home/user/new_data/file.txt:宿主机上的文件路径。
  • container_name:容器的名称或ID。
  • /new_data/:容器中的目标目录路径。

小结

推荐在容器启动时通过-v参数或数据卷来挂载新的文件目录。这样可以确保容器与宿主机之间的数据同步和共享,同时保持容器的可移植性和隔离性。如果需要将文件复制到容器中,可以使用docker cp命令。


The end.

相关推荐
小陈phd13 小时前
混合知识库搭建:本地Docker部署Neo4j图数据库与Milvus向量库
数据库·docker·neo4j
Wpa.wk14 小时前
容器编排 - 了解K8s(pod, deployment,service,lable等概念)
经验分享·测试工具·docker·云原生·容器·kubernetes
xuefuhe16 小时前
Kubernetes基础入门4 应用的扩展与收缩
云原生·容器·kubernetes
Wpa.wk17 小时前
容器编排 - K8s - 配置文件参数说明和基础命令
经验分享·测试工具·docker·云原生·容器·kubernetes
LCG米19 小时前
基于PyTorch的TCN-GRU电力负荷预测:从多维数据预处理到Docker云端部署
pytorch·docker·gru
Warren9820 小时前
接口测试理论
docker·面试·职场和发展·eureka·ansible
杭州杭州杭州20 小时前
Docker
运维·docker·容器
一体化运维管理平台21 小时前
容器监控难题破解:美信监控易全面支持K8s、Docker
云原生·容器·kubernetes
qiubinwei1 天前
kubeadm部署K8S集群(踩坑实录)
云原生·容器·kubernetes
等什么君!1 天前
Docker 数据卷:MySQL 数据同步实战
运维·docker·容器