【发布时间】:2020-05-15 04:53:30
【问题描述】:
我正在尝试在 Dockerfile 中 RUN sudo su - 并收到此错误
/bin/sh: 1: sudo: 未找到
这就是我的Dockerfile 的样子:
FROM ubuntu:18.04
RUN sudo su -
RUN apt update && install openjdk-8-jdk
RUN wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - && sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/kenkins.list'
RUN apt update && apt install jenkins
RUN curl -fsSL get.docker.com | /bin/bash
RUN usermod -aG docker jenkins && systemctl restart jenkins
当我尝试构建它时出现此错误。
docker build -t jenkins .
有人可以帮我吗?
【问题讨论】:
-
你试过apt update吗?我相信您已经以 root 身份运行这些命令,因此不需要 sudo。
-
所以不需要运行
sudo su -? -
有什么理由这样做吗?这个命令似乎没有做任何事情,除了创建一个没有任何有用效果的额外层。
-
是的,除非您的 jenkins 用户需要 sudo。您可以使用“who”命令检查您正在运行哪些用户的这些命令。如: RUN who 如果您的 jenkins 用户需要 sudo,请查看 - stackoverflow.com/a/25908200
-
顺便说一句,不推荐使用 systemctl,最佳实践告诉你最好使用启动内部服务器的启动脚本,而不是使用控制服务。