【问题标题】:Can't use yum inside Docker container running on CentOS无法在 CentOS 上运行的 Docker 容器中使用 yum
【发布时间】:2016-11-03 04:23:58
【问题描述】:

我无法在我的 Docker 容器中运行任何 yum 命令而不会出现以下错误:

ovl: Error while doing RPMdb copy-up:
[Errno 13] Permission denied: '/var/lib/rpm/Group'
You need to be root to perform this command.

我很困惑,因为我很确定 docker 容器是使用默认用户 root 运行的。不过,如果我尝试将 sudo 放在 yum install -y <package>yum update -y 命令前面,我会得到:

/bin/sh: sudo: command not found

我正在使用以下基本映像,因此我可以轻松地在 Docker 中运行 Java Wildfly 应用程序:https://hub.docker.com/r/jboss/wildfly/

底层发行版是CentOS Linux release 7.2.1511 (Core)

【问题讨论】:

  • 我认为 sudo 默认不在基础镜像中。

标签: docker centos containers sudo yum


【解决方案1】:

原来用户在基础镜像中被设置为jboss
当使用 dockerfile 命令USER root 切换到root 用户时,一切正常。

【讨论】:

  • 运行centos/nodejs-6-centos7...真可惜!
  • 同上centos/python-36-centos7
  • 切换到root执行yum这一步后,要不要改回原来的用户?在你的情况下jboss
  • 是的,切换到 ROOT 可能是一个安全问题。查看此线程以获得更好的 docker 用户管理:stackoverflow.com/a/48957722/4447761
猜你喜欢
  • 2018-11-25
  • 2019-06-01
  • 1970-01-01
  • 2020-06-08
  • 2020-03-13
  • 2017-12-19
  • 2019-03-05
  • 2015-06-08
  • 1970-01-01
相关资源
最近更新 更多