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/

相关推荐
奋斗的蛋黄2 小时前
K8s 核心三组件:kubelet、kubeadm、kubectl 知识点梳理
云原生·容器·kubernetes
m0_579146653 小时前
docker desktop创建ollama容器端口绑定失败
运维·docker·容器
愚昧之山绝望之谷开悟之坡3 小时前
docker和docker compose离线安装-2-报错
运维·docker·容器
jianghx102412 小时前
Docker部署ES,开启安全认证并且设置账号密码(已运行中)
安全·elasticsearch·docker·es账号密码设置
2503_9301239313 小时前
Kubernetes (四)网络插件详解:Flannel 与 Calico 的原理、数据流向与实战对比
网络·容器·kubernetes
ZHE|张恒15 小时前
Docker 安装 RabbitMQ
docker·rabbitmq
远向光17 小时前
k8s中的控制器
linux·容器·kubernetes
赶路人儿18 小时前
dockerfile中CMD和ENTRYPOINT指令
docker
安卓开发者18 小时前
Docker常用镜像使用指南:从入门到实战
运维·docker·容器
霖.2419 小时前
Docker常见问题
服务器·docker·云原生·容器