首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提升sbt构建的docker镜像中的权限

如何提升sbt构建的docker镜像中的权限
EN

Stack Overflow用户
提问于 2019-07-13 03:54:44
回答 1查看 527关注 0票数 1

我正在尝试调试我的应用程序,它运行在一个docker容器中的kubernetes中。该映像是使用sbt本机打包程序docker插件构建的。我想登录pod并在那里进行调查,但默认用户帐户(demiourgos728)没有权限,我不知道如何切换到根帐户。

我尝试过运行kubectl exec --user=root image -- bash (找不到用户),也尝试过在映像中运行su - (身份验证失败),但都没有成功。用于构建应用程序的基础镜像是java:8。

以下是我在build.sbt中的docker设置:

代码语言:javascript
复制
.settings(
    Seq(
      dockerBaseImage := "java:8",
      publishArtifact := false,
      dockerExposedPorts ++= Seq(8088), 
      packageName in Docker := "api-endpoint"
    ))
EN

回答 1

Stack Overflow用户

发布于 2019-07-13 08:09:49

kubectl中的--user=root用于在kube-apiserver上进行身份验证,而不是强制容器作为容器中的用户执行命令。

如果您在您的节点上运行docker,并且想要强制升级到root,您可以ssh到您的容器正在运行的节点,然后运行:

代码语言:javascript
复制
$ docker exec -it --user=root <container-id> bash
# or
$ docker exec -it -u root <container-id> bash

您可以通过以下方式找到您的pod/容器正在运行的节点:

代码语言:javascript
复制
$ kubectl describe pod <pod-id>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57013318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档