docker 容器中的 root 权限被拒绝

2024-03-20

在过去的几天里,我在构建或运行 docker 容器时遇到了一些问题。

root 似乎没有访问文件系统的权限。

例如。我创建了这个非常简单的 Dockerfile

FROM centos

RUN id && ls -l /usr/bin/yum /usr/bin/dnf-3 && yum install mlocate

当我尝试构建图像时出现错误

Step 1/2 : FROM centos
 ---> 470671670cac
Step 2/2 : RUN id && ls -l /usr/bin/yum /usr/bin/dnf-3 && yum install mlocate
 ---> Running in f7b32a009a74
uid=0(root) gid=0(root) groups=0(root)
-rwxr-xr-x 1 root root 1954 Dec 19 15:43 /usr/bin/dnf-3
lrwxrwxrwx 1 root root    5 Dec 19 15:43 /usr/bin/yum -> dnf-3
/usr/libexec/platform-python: can't open file '/usr/bin/yum': [Errno 13] Permission denied
The command '/bin/sh -c id && ls -l /usr/bin/yum /usr/bin/dnf-3 && yum install mlocate' returned a non-zero code: 2

这个问题似乎更普遍,即使在 ubuntu 或 alpine 上我也会遇到类似的错误,所以我怀疑与 Ubuntu 有关。

考虑一下,然后我才能毫无问题地执行任何任务。

我尝试过添加功能并停止 apparmor,但没有任何效果。

码头工人信息

Client:
 Debug Mode: false

Server:
 Containers: 18
  Running: 0
  Paused: 0
  Stopped: 18
 Images: 20
 Server Version: 19.03.8
 Storage Driver: overlay2
  Backing Filesystem: <unknown>
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc version: 
 init version: fec3683
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.4.0-31-generic
 Operating System: Ubuntu Core 16
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 7.475GiB
 Name: gurdulu-xps
 ID: E5JA:3WKI:JWFQ:M5J2:CAZ7:VVKI:2ADB:3W7W:F3F4:VYXZ:7JLP:R7C4
 Docker Root Dir: /var/snap/docker/common/var-lib-docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No swap limit support

这是apparmor与snap的结合。过去几天,快照安装附带的配置文件以某种方式变得无效。

老实说,我没有调查并尝试删除 snap 并使用 apt 安装。

现在效果很好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker 容器中的 root 权限被拒绝 的相关文章

随机推荐

  • 多次调用ToList会影响性能吗?

    我经常看到调用 ToList 会使查询每次都被执行 我对此有点困惑 那么在这种情况下 第二次调用 ToList 会使查询执行多次吗 在什么情况下查询会执行多次 This gets from database and ToList is al
  • .toLocaleString('fr-FR') 不显示空格数量,但在控制台中工作

    我使用 PHP 显示来自服务器的一些价格和数字 使用函数以法语进行格式化 然后我想使用Jquery在客户端做一些计算 我使用 toLocaleString fr FR 来格式化要显示的结果 它可以在控制台中运行 但不能在 DOM 中运行 这
  • 如何重用一些“Eclipse IDE 插件”创建 Eclipse RCP 应用程序?

    如何创建一个 RCP 应用程序 它看起来与 Eclipse IDE 完全相同 具有所有菜单 视图 对话框 这是一个例子 http richclientplatform blogspot com 2007 12 oil and gas ind
  • 显示内 100% 高度的 div:table-cell div

    我试图将 100 高度的 div 放入 display table cell div 中 但它似乎在 IE 中不起作用 IE 有什么解决办法吗 这是我的代码 div style display table row div style dis
  • 在“视图”中使用 ng-init 的替代方案?

    我正在尝试为我的应用程序创建一个 喜欢 功能 我希望能够将动态生成的数字的值设置为 喜欢计数 问题出在使用 ng init 因为文档说这是一个糟糕的方法 如何在 控制器 而不是 视图 中设置值 这是我到目前为止所拥有的
  • 使用触发器将源代码从云构建发布到存储桶时出错

    我正在尝试通过云构建触发器将 html 代码从一个云源存储库发布到 gcp 中的公共存储桶 但是 每次推送到主分支时 我都会在构建中收到以下错误 generic invalid argument generic invalid argume
  • iOS 音量控制的最佳实践?

    硬件音量控制 我试图了解对于大多数静音但偶尔发出声音的应用程序的最佳实践是什么 此类应用程序可以利用 iOS 设备上的侧面音量控制 并避免需要在 NSVolume 控件小部件中进行设计 我认为这不如硬件侧面音量控制那么方便 该方法适用于 M
  • Ninject InRequestScope 缺失

    有几个关于 ninject 最新版本 2 2 1 4 的问题 正在尝试绑定 Linq2sqlDataContext到具体实施InRequestScope 在类库项目中 Bind
  • 在动态控件的 GridView 中找不到控件

    我有一个网格视图 我在运行时将文本框添加到每个单元格 但是 我似乎无法使用访问这些控件findcontrol 以下是我将文本框添加到网格视图的方法 If e Row RowType DataControlRowType DataRow Th
  • 对象是引用类型还是值类型?

    我仍然有疑问object 它是任何事物 任何类的主要基类 但它是引用类型还是值类型 或者喜欢这些行为中的哪一个呢 我需要澄清这一点 我很难理解这一点 object obj1 OldString object obj2 obj1 obj1 N
  • 更改视图、plot3D、Julia 语言(类似于 matplotlib)

    我正在尝试改变 3D 散点图的视角 朱莉娅语言 例如 此代码更改了视角 但每次更改时都会单独绘制点 而不是一起绘制 for i 1 10 X i Y i 2 Z i 3 fig figure ax gca projection 3d plo
  • 在 Spring Boot 中从属性文件注入值数组

    好的 所以我有一个config properties market curpairs 0 name EuroDollar market curpairs 0 symbol EURUSD market curpairs 0 minamount
  • Ryacas 的符号矩阵乘法

    我定义两个矩阵mat1 and mat2 in Sym适合 Ryacas 符号计算的类 library Ryacas x lt Sym x mat1 lt List List x 2 List x 3 x and mat2 lt List
  • 处理路径长度的问题

    我正在创建一个库 用于在 Linux 和 Windows 上进行文件操作 所以我需要处理路径 主要要求是我的函数将接收 UTF8 格式的字符串 但这会导致一些问题 其中之一是我正在使用MAX PATH在窗户上和PATH MAX在linux中
  • 为什么vscode中与“Reload Window”绑定的按键“Ctrl + R”不Reload Window?

    我是 vscode 的新用户 我遇到了一个问题 我被告知可以通过 重新加载窗口 解决 所以我首先通过 命令面板 找到它 它确实解决了我的问题 但是 我注意到它说它绑定到 Ctrl R 那么 如果这是它所绑定的键序列 为什么按住 Ctrl 并
  • 使用 Getopt::Long 时出现错误“panic: attempts to copy freed scalar”

    我收到错误 panic attempt to copy freed scalar a121fb4 to a156be8 at p pl line 13 当我运行以下程序时 p pl use warnings use strict use G
  • 应用程序spyder启动可能会产生错误窗口

    在我的Windows 10中 当我尝试通过anaconda navigator打开spyder时 会发生这种情况 Application spyder launch may have produced errors Traceback mo
  • 在 PHP 中使用冒号属性解析 XML

    我有以下 XML 结构
  • 使用 Golang 将 MySQL 表转储为 JSON

    正在用 Go 将 MySQL 快速转储到 JSON 但是我发现我从数据库检索的所有内容都是 byte大批 因此 我将所有内容都编码为字符串 而不是本机 JSON 整数或布尔值 代码的子集 import encoding json datab
  • docker 容器中的 root 权限被拒绝

    在过去的几天里 我在构建或运行 docker 容器时遇到了一些问题 root 似乎没有访问文件系统的权限 例如 我创建了这个非常简单的 Dockerfile FROM centos RUN id ls l usr bin yum usr b