📜  多挂载路径 docker 容器 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:37:51.746000             🧑  作者: Mango

多挂载路径 Docker 容器 - Shell/Bash

在 Docker 容器中,可以挂载主机上的一个或多个目录到容器内部的路径中,使得容器可以访问主机上的文件或者目录。在这篇文章中,我们将学习如何在 Docker 容器中挂载多个路径。

以单个路径挂载为例

首先我们以单个路径挂载为例,来说明如何挂载。我们使用以下命令来创建一个新的 Docker 容器,并将主机上的 /data 目录挂载到容器内部的 /var/www/html 目录中:

docker run -d -v /data:/var/www/html nginx

上面的命令中,-d 选项用于在后台运行容器,-v 选项用于挂载目录。:左边是主机上的路径,:右边是容器内部的路径。

多个路径挂载

如果我们需要在 Docker 容器中挂载多个路径,我们只需要在 docker run 命令中加上多个 -v 参数即可。例如,我们需要同时将主机上的 /data/config 目录挂载到容器内部的 /var/www/html/etc/nginx 目录中:

docker run -d -v /data:/var/www/html -v /config:/etc/nginx nginx

上面的命令中,我们添加了一个额外的 -v 参数来挂载 /config 目录。这样容器就可以同时访问主机上的 /data/config 目录。

可以将其封装到一个 Shell/Bash 脚本中
#!/bin/bash

CONTAINER_NAME="nginx"
DATA_DIR="/data"
CONFIG_DIR="/config"

docker run -d -v ${DATA_DIR}:/var/www/html -v ${CONFIG_DIR}:/etc/nginx ${CONTAINER_NAME}
END

通过以上操作,我们已经成功的将多个路径挂载到了容器内部,可以在容器中访问主机上的文件或者目录了。