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/

相关推荐
风曦Kisaki2 小时前
# Kubernetes(K8s)笔记Day12 :K8s 七层代理(Ingress 和 Ingress Controller)
linux·笔记·云原生·容器·kubernetes
Lyra_Infra2 小时前
Docker OCI Runtime 启动失败问题排查与解决
后端·docker·架构
雨辰AI7 小时前
达梦 DM9 K8s 密评合规部署|等保三级 + 密评双标准安全加固(金融级实测通过)
安全·云原生·容器·金融·kubernetes·政务
雨辰AI7 小时前
K8s 数据库 Secret 加密实战|密码明文漏洞彻底修复,等保密评双合规(金仓 / 达梦双库适配)
数据库·容器·kubernetes
Chasing__Dreams8 小时前
Go 语言学习笔记
云原生·容器·kubernetes
明王明王9 小时前
从零搭建一个单节点 K8S 可观测实验室(六):安装 Tempo + OpenTelemetry,构建链路追踪链路
云原生·容器·kubernetes
wsad05329 小时前
Docker 网络故障排查记:当 bridge 模式失效时,host 模式如何救场
运维·docker·容器
张毅2004-10-109 小时前
docker详解:安装docker,docker架构,docker镜像、容器、网络、存储,容器监控,容器日志,综合实验
linux·运维·docker·云原生·云计算
营养充电站10 小时前
C++23 新特性在 CLion 中的实战体验
macos·docker·jupyter·正则表达式