如何在Dockerfile中运行sudo su-

时间:2020-01-29 16:20:57

标签: linux ubuntu dock

我试图在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 . 有人可以帮我吗?

3 个答案:

答案 0 :(得分:1)

除了创建一个没有任何有用效果的额外图层外,该命令似乎没有任何作用。

答案 1 :(得分:0)

$ cat Dockerfile

FROM ubuntu:18.04
RUN apt-get update && apt-get install openjdk-8-jdk -y

如果要更改使用权限,请在Dockerfile中使用 USER 标志

答案 2 :(得分:0)

默认情况下,dockerfile将以虚拟“ root”用户身份运行,因此不需要包含任何sudo命令。

由于示例脚本不包含默认的“ -y”,因此看来您只是在脚本中键入了用于手动安装的描述。这将永远行不通。很好,在容器中,应用程序也确实需要在PID-1上,而systemctl不会这样做。

学习完有关docker的基础教程后,您将找到原因。