温馨提示×

debian docker怎么挂载目录

小樊
56
2026-10-11 00:01:34
栏目: 智能运维

在 Debian 上使用 Docker 挂载目录,通常有两种常见方式:绑定挂载(bind mount) 和 卷(volume)。下面用最实用、最常见的说明给你讲清楚。


一、绑定挂载(bind mount,最常用)

把宿主机的一个目录直接挂到容器里。

基本用法

docker run -d \
  -v /宿主机路径:/容器路径 \
  --name mycontainer \
  镜像名

示例

docker run -d \
  -v /home/debian/data:/app/data \
  --name myapp \
  nginx

意思:

  • 宿主机的 /home/debian/data
  • 挂载到容器的 /app/data

只读挂载(推荐)

-v /home/debian/data:/app/data:ro

二、使用 Docker Volume(更规范)

适合数据持久化,由 Docker 管理。

创建 volume

docker volume create mydata

使用 volume

docker run -d \
  -v mydata:/app/data \
  --name myapp \
  nginx

查看 volume:

docker volume ls
docker volume inspect mydata

三、docker-compose 中挂载(推荐生产用)

示例 docker-compose.yml

version: "3"
services:
  app:
    image: nginx
    volumes:
      - /home/debian/data:/app/data
      # 或
      # - mydata:/app/data

volumes:
  mydata:

启动:

docker compose up -d

四、Debian 上常见问题

1️⃣ 权限问题

容器里可能是 root 或指定用户,宿主机目录注意权限:

chmod -R 777 /home/debian/data

(测试用,生产不建议 777)

2️⃣ SELinux(Debian 一般没有)

Debian 默认没有 SELinux,不用加 :Z 或 :z

3️⃣ 路径一定要存在

mkdir -p /home/debian/data

五、查看挂载是否成功

docker inspect myapp | grep -A 10 Mounts

如果你愿意,可以告诉我:

  • 你是 运行命令 / docker-compose
  • 挂载的是 配置文件 / 数据 / 代码
  • 用的什么 镜像

我可以直接给你一份可直接用的配置。

0 踩