docker无法映射/挂载根目录

docker无法映射(挂载)根目录下的文件夹只能映射家目录

最近想要使用nas-tools做做刮削,电影存在一个机械磁盘里,机械磁盘被挂载到/data1下,发现一个很奇怪的问题,docker只能挂载成功home目录下的文件夹,/data1,/tmp这种就挂载不了,比如:

复制代码
services:
  nas-tools:
    image: hsuyelin/nas-tools:latest
    ports:
      - 3000:3000 
    volumes:
      - /home/admin//docker-compose/nas-tools:/config 
      - /home/admin/video:/video
    environment: 
      - user=root
      - UMASK=000 

这样设置,就能在nas-tools里看到文件,但是

复制代码
services:
  nas-tools:
    image: hsuyelin/nas-tools:latest
    ports:
      - 3000:3000 
    volumes:
      - /home/admin/docker-compose/nas-tools:/config 
      - /data1/video:/video
    environment: 
      - user=root
      - UMASK=000 

这样就不行,后面发现这是因为我在装Ubuntu的时候预装了docker,这个docker是snap docker,他被限制了只能访问/home目录下的文件!

复制代码
This build can only access files in the home directory. So Dockerfiles and all other files used in commands like docker build, docker save and docker load need to be in $HOME.

--------------------------------------- 
ref:https://snapcraft.io/docker

解决方法:

  1. 卸载snap docker

    sudo snap remove --purge docker

  2. 使用apt重新安装docker

    Add Docker's official GPG key:

    sudo apt-get update
    sudo apt-get install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc

    Add the repository to Apt sources:

    echo
    "deb [arch=(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ (. /etc/os-release && echo "$VERSION_CODENAME") stable" |
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    sudo docker run hello-world

屏幕中出现了docker的hello world表示安装成功

ref:https://docs.docker.com/engine/install/ubuntu/

相关推荐
风落无尘8 小时前
Stable Diffusion WebUI & ComfyUI 完整安装教程:官方部署+一键整合包+Docker容器化(2026最新)
docker·容器·stable diffusion
CodeMartain12 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
万里侯13 小时前
云原生数据备份与恢复:保障数据安全的最佳实践
微服务·容器·k8s
llrraa201014 小时前
配置docker国内镜像源
运维·docker·容器
华为云开发者联盟15 小时前
告别繁琐操作,华为云码道 + Docker重塑远程开发体验
人工智能·学习·docker·华为云·软件开发·华为云码道
m_1368716 小时前
Docker Desktop WSL2 启动失败:ext4.vhdx 拒绝访问(E_ACCESSDENIED)完整解决方案
docker
珂玥c16 小时前
k8s集群ingress碎碎念
云原生·容器·kubernetes
米高梅狮子17 小时前
Ceph 分布式存储 部署
linux·运维·数据库·分布式·ceph·docker·华为云
比特森林探险记18 小时前
context 在 gRPC / Gin / K8s 中的实战
容器·kubernetes·gin
米高梅狮子18 小时前
Redis
数据库·redis·mysql·缓存·docker·容器·github