首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法通过Jenkin的蓝海运行docker命令: ERRO[0000]在/etc/subuid中找不到用户“jenkins”的subuid范围

问题描述: 无法通过Jenkins的蓝海运行Docker命令: ERRO[0000]在/etc/subuid中找不到用户“jenkins”的subuid范围。

回答: 这个问题是由于Jenkins用户在执行Docker命令时,找不到其在/etc/subuid文件中定义的subuid范围所引起的。解决这个问题的方法是在系统中为Jenkins用户配置subuid范围。

subuid是Linux系统中用于管理用户命名空间的一种机制,它允许为每个用户分配一定范围的用户ID。在Docker中,当使用非root用户执行Docker命令时,会使用subuid来映射用户ID,以便在容器内部执行命令时不会与宿主机发生冲突。

要解决这个问题,可以按照以下步骤进行操作:

  1. 打开终端,以root用户身份登录到系统中。
  2. 编辑/etc/subuid文件,添加一行类似于"jenkins:100000:65536"的配置,其中100000是起始的用户ID,65536是分配的用户ID数量。保存文件并退出。
  3. 编辑/etc/subgid文件,添加一行类似于"jenkins:100000:65536"的配置,与上一步的配置保持一致。保存文件并退出。
  4. 重新启动Jenkins服务,以使配置生效。

完成以上步骤后,再次尝试通过Jenkins的蓝海运行Docker命令,应该就不会再出现"在/etc/subuid中找不到用户“jenkins”的subuid范围"的错误了。

推荐的腾讯云相关产品: 腾讯云容器服务(Tencent Kubernetes Engine,TKE)是腾讯云提供的一种高度可扩展的容器管理服务,支持自动化部署、弹性伸缩和运维管理等功能。您可以使用TKE来管理和运行Docker容器,实现快速部署和管理应用程序。

产品介绍链接地址:https://cloud.tencent.com/product/tke

请注意,以上答案仅供参考,具体解决方法可能因实际情况而异。在实际操作中,请参考相关文档或咨询专业人士以获得准确的解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Podman 保姆级使用教程,太顶了!

/etc/subuid 与 /etc/subgid 中生成对应用户在其用户命名空间中的映射规则,以 /etc/subuid 为例,参数以冒号分隔,每个参数含义如下所示: 第一个参数(uid):用户名称...第三个参数(count):用户命名空间内部与外部可映射 uid 数量(可理解为所有容器普通用户的 uid 数量和) 以上两个文件允许运行进程的 uid 映射范围,在 /proc//uid_map...示例: 普通用户 hualf 在 /etc/subuid 中映射为 hualf:165536:65536,说明在该用户的用户命名空间中可嵌套一个或多个用户命名空间(或容器),每个容器中的 root 用户...uid 0 都映射为 hualf 用户的 uid 1001(运行容器进程的用户),而容器中普通用户的 uid 映射至宿主机的 subuid 范围中,对于此例 subuid 范围为 165536~231071...通过容器宿主机上每个普通用户的用户命名空间的 subuid 映射范围,可分配众多 uid 在 rootless 容器中运行应用进程。

20.7K53
  • rootless Podman如何工作?【Programming】

    image.png 在上一篇有关用户名称空间和Podman的文章中,我讨论了如何使用Podman命令来启动具有不同用户名称空间的不同容器,从而更好地分隔容器。...在我的情况下,这意味着为dwalsh分配了100000至165535的UID以及我的默认UID,该ID恰好是在/etc/passwd中定义的3265。...root映射到当前UID(3267),然后在/etc/subuid和/etc/subgid中映射分配的UID/gid范围,从1开始。...Buildah命令具有一个很酷的功能,buildah unshare。这使您处于Podman运行时所处的用户命名空间中,但无需输入容器的文件系统,因此您可以列出主目录的内容。...无根Podman可以使用用户名称空间进行容器分离,但您只能访问/etc/subuid文件中定义的uid。 总结 Podman工具使人们能够在不牺牲系统安全性的情况下构建和使用容器。

    2.3K00

    jenkins + docker自动化部署maven项目

    -> D(将docker镜像上传到docker仓库) D --> E(jenkins远程登陆生产环境的服务器) E --> F(从docker仓库拉取构建的镜像并运行) 对于我们大部分人来说,实际上很多工作都是在同一台服务器上完成...也一样 因为我只需要jenkins能够拉取代码就够了,所以在仓库上添加公钥,而不是git账户上添加全局的公钥,以保证安全 然后在jenkins中输入用户名和私钥,注意类型需要选择SSH的那个 5...shell的构建步骤 然后在里面写相关shell命令,在maven打包完成后,就会执行这些shell命令 我的思路是: 1.复制maven打包好的jar包到jenkin的工作目录 2.cd到jenkin...工作目录,移除正在运行的docker容器和镜像 3.构建新的docker镜像并运行 4.删除jar包 可参考我下面的命令,需要根据自己maven和jenkins实际目录进行修改 因为jenkins拉取代码的时候会将代码保存在他的工作目录中...xxxxxxxxxx-0.0.1-SNAPSHOT.jar 不出意外的话,就可以成功部署啦~ 如果不使用docker的话,也可以在shell命令中写自己的部署命令

    1.6K40

    深入理解 Docker Run 命令:从入门到精通

    本文将深入探讨 docker run 命令的使用方法,旨在帮助初学者快速入门并掌握该命令的各种用法。 Docker Run 简介 docker run 命令用于在 Docker 中运行一个容器。...其中,OPTIONS 是一系列用于配置容器运行方式的选项,IMAGE 是要运行的容器镜像,COMMAND 是在容器内部执行的命令,ARG 是传递给命令的参数。...,让其后台运行,命令如下: docker run -d --name tomcat_hogwarts01 tomcat:7 运行如下图: 通过-d参数创建容器,不影响我们运行其他命令。...权限去执行命令 # 创建容器 docker run -d --name jenkin_hogwarts --privileged=true jenkins/jenkins # 进入容器 docker...无论是基本的交互式运行,还是高级的数据卷挂载和端口映射,docker run 都能满足我们在容器化应用开发和部署过程中的各种需求。

    4.6K10

    容器 & 服务:Docker 应用的 Jenkins 构建

    本章将结合之前的Jenkins基础,把应用改造为更接近真实场景的应用构建、发布过程。 二 回顾 再看一下这张图,是我们在demo中构建docker配置的内容,其中标红部分,是docker命令: ?...意味着,我们可以考虑把命令提出来,在Jenkins中执行构建镜像及创建容器、启动应用过程。...ERRO[0000] error waiting for container: context canceled 报错,不过容易看到,是因为端口被占用导致的,我们把端口改为18011:8080再次执行...那么很容易判断,肯定是配置在jenkins中的deploy命令有问题,也就是上面的两条命令。...至此,通过Jenkins构建docker镜像和启动容器成功,我们的demo又前进了一小步。

    68010

    (44) .NET Core Web API + Vue By Linux and Windows 部署方案知识点总结

    在Humble和Farley的书《持续交付:可靠的软件版本中,通过构建,测试和部署自动化》,解释“对软件的每次更改,都会在发布过程中经历一个复杂的过程。...此流水线是一个自动化系统,可以针对构建执行一组渐进的测试套件。CD 具有高度的自动化,并且在一些云计算环境中也易于配置。在流水线的每个阶段,如果构建无法通过关键测试会向团队发出警报。...此外,随着 SaaS 这种交付方式变得更受欢迎,许多工具都可以在现代开发人员运行应用程序的云环境中运行,例如 GCP 和 AWS。...安装Jenkins Jenkin基本使用 docker中jenkins修改时区 1root身份进入jenkins容器docker exec -it -u root my_jenkins /bin/bash...在jenkins-》系统管理-》系统信息中可以看到有关时区的是user.timezone属性值是Etc/UTC。哪里存放的这个值呢,应该是/etc/timezone了。

    2.3K20

    自动化部署专题:Jenkins 介绍和搭建

    传统部署,开发或者运维必须将程序打包,上传到服务器,然后使用脚本去关闭之前服务,然后在重启,十分的繁琐,而且容易出错,所以通过自动化这些繁琐且耗时的任务,Jenkins 可以帮助开发人员更快速、更频繁地进行软件发布...接下来开始讲解,如何在Linux服务器搭建Jenkins,为了能够快速上手,本次搭建基于docker进行,也就是在docker安装jenkins,配置jenkins。...-R 1000 /var/jenkins_home docker命令下载镜像,并启动容器,注意如果8080端口被占用的话,需要更换端口,并启动Jenkin容器docker run -u root -d.../run/docker.sock \ -v /etc/localtime:/etc/localtime \ --name jenkins \ --privileged=true \ --restart=...always \ jenkins/jenkins:lts查看Jenkins是否成功启动docker ps获取Jenkins构建平台登录密码,进入挂载的文件目录中,也可以直接通过以下命令直接查看cat /

    74621

    Jenkins 初体验

    war-stable/latest/jenkins.war #上传本地文件可以使用Xftp上传,也可以使用rz命令进行上传 [root@localhost software]# rz 用户命令扩展:...最后测试 jenkins 是否启动成功! 在浏览器中通过虚拟机ip+端口号进行访问 如果对于linux防火墙命令不太了解的,可以参考这篇博客Linux 防火墙服务器配置常用命令大合集!...#想要通过ip+端口号进行访问,首先我们要开放虚拟机防火墙中对应的端口号(这里是8777) #查看防火墙放行的端口 [software]# sudo firewall-cmd --list-ports...的注册使用 此处的管理员密码就是我们之前在日志中看到的一长串英文+数字的组合,那个就是我们的密码,我们粘贴过来进行登陆。...(实例也就是我们以后绑定的仓库) 完成 4 Jenkin 环境配置 当Jenkin从github中拉取代码之后要自动部署项目时需要很多环境,所以我们需要进行配置。

    42020

    说说linux容器的隔离

    Docker也使用类似技术。LXD使用了LXC API来管理LXC,而且新增RESTful API。 这边文章通过研究LXC的隔离特征来说明容器的一些原理。...user namespace 功能虽然在很早就出现了,但是直到 Linux kernel 3.8之后这个功能才趋于完善。 比如/etc/subuid文件描述了容器内的id和容器外id的对应关系。...路径/etc/login.defs文件的UID_MIN、UID_MAX限定了用户useradd新用户自己设置uid的最小值和最大值,2^31-1是个无效id,实验测试以下命令不能成功。...并且在宿主机的veth0和veth2设备通过NAT连接到外网。这个NAT是通过在iptables追加一个NAT的masquerade规则实现的。...而宿主机网卡接收到的数据会通过iptables DNAT根据端口号修改目的地址和端口为容器的ip 和端口,然后根据路由规则发送到网桥 docker0 中,并最终由网桥 docker0 发送到对应的容器中

    3.2K142

    linux用户管理

    它不仅可以用来验证用户身份,还决定了一个用户在系统中可以从事什么工作 在Linux 上的账号可以分成两类: 用户账号 用来储存单一用户的数据,你可以使用一个用户账号,来储存某一个用户的数据。...本机账号使用范围只能在账号建立的 Linux 系统上,如果超出范围时,本机账号将无法使用。比如:你在自己电脑上登录用的账号和密码,正常是无法在其它的电脑上使用的。...由于超级用户的权限不受任何限制,你可以使用该账号来管理 系统;但是,也可能因为操作错误,或者打错命令而造成无法挽救的伤害。.../etc/subuid Per user subordinate user IDs....本机的用户账号数据储存于/etc/passwd文件中。

    5.1K20

    使用jenkins连接linux部署jar包

    jenkins安装 首先安装jenkins,我们可以使用docker安装。用下面命令拉取jenkins镜像。...创建ssh插件 jenkins管理linux服务器是通过ssh工具连接的,所以,首先,我们要给linux服务器安装ssh。 linux安装ssh也很简单,就执行几个命令即可。...在jenkins中安装ssh插件,需要进入插件管理,搜索ssh。...这个java版本我们不用关心,因为这个java版本是jenkins的所在docker容器的java版本,只要让jenkins通过这个jdk能执行命令即可,实际我们的jar运行容器或者服务器,有自己的java...当然,他还可以在上面的步骤中再加一步,构建一个docker容器,再向容器里发布jar包。 jenkin的使用非常复杂,只能靠自己慢慢摸索。

    34110

    用Docker运行Jenkins自动化构建.NET Core项目

    接下来介绍一下如何在容器中运行Jenkins,并自动化构建GitHub上的项目,使用自动化构建来解放你的双手。...前置条件 一台已经安装了Docker的Ubuntu服务器,有公网IP并可通过IP或者域名访问。因为GitHub无法访问本地服务器,所以不能触发构建,只能手动触发构建。...icu-devtools是运行dotnet需要的 修改jenkins用户到root附加组 设置当前用户为jenkins 到这里,Dockerfile就定义完成了。...生成这个镜像要花数分钟的时间,请耐心等待: 生成完成以后,可以使用docker images命令查看所有镜像 运行Jenkins实例 使用docker run命令来运行一个jenkins实例,注意映射端口...,需要使用官方的发布工具,所以要输入以下命令: 由于ZKEACMS.Publisher没有在容器中安装,所以发布会报错,这里我们还需要进入窗口安装一下发布工具,首先进入容器: docker exec

    1.8K00

    浅谈日常使用的 Docker 底层原理-三大底座

    客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信。 Docker 守护进程一般在宿主主机后台运行,等待接收来自客户端的消息。...Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker 守护进程交互。 另外这一点,也可以在执行 docker info 时看出来。...4、验证配置 cat /etc/subuid cat /etc/subgid dockermap 是默认的映射名称。...补充: /etc/subuid 是一个系统配置文件,用于管理用户命名空间中用户的子用户标识(sub-IDs)。不多占篇幅介绍了,/etc/subgid 相应就是用户组的标识。具体感兴趣可以去了解。...如何进行隔离,无法否认的是我们在当前宿主机中运行的所有容器,它依赖的硬件资源都只是当前机器。

    1.5K10

    千年的铁树开了花。聊聊account

    当我们通过docker CLI发送“运行一个container”的命令到dockerd后,它会创建运行container所需要的各种基本环境,包括创建各类namespace,通过pivot_root将container...在userns-remap mode下,dockerd依旧以root运行,但对container,正如名字所暗示的,它通过在user namespace里将uid/gid 和subordinate user...IDs(位于/etc/subuid)以及subordinate group IDs(位于/etc/subgid)进行remapping来达到权限隔离的目的。...它是Docker在19.03试用,在20.10中才正式试用的模式。在此模式下,dockerd和container均以非root账号运行,安装docker daemon时也不再需要root权限。...clone()用于在创建新进程的时候,通过在参数中设置CLONE_NEWUSER来创建一个新的user namespace。如下面的代码所示。

    55220
    领券