【问题标题】:error in touch command触摸命令错误
【发布时间】:2018-03-27 09:43:18
【问题描述】:

嗨,我正在创建 docker 映像,我需要在浏览器中自动打开 jenkins 页面,为此我需要将我的主机系统(windows)~/.ssh/id_rsa.pub 放置到 ~/.ssh/authorized_keys。经过许多网站参考后,我尝试了此代码

ADD http://mirrors.jenkins.io/war-stable/2.107.1/jenkins.war /opt/jenkins.war
RUN chmod 644 /opt/jenkins.war
ENV JENKINS_HOME /jenkins

# configure the container to run jenkins, mapping container port 8080 to that host port
ENTRYPOINT ["java", "-jar", "/opt/jenkins.war"]
EXPOSE 8080

RUN mkdir /jenkins/
RUN echo 2.107.1 > /jenkins/jenkins.install.UpgradeWizard.state
RUN echo 2.107.1 > /jenkins/jenkins.install.InstallUtil.lastExecVersion

RUN apt-get install -y sudo \
 adduser admin \
 echo "admin ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/admin \
 chmod 0440 /etc/sudoers.d/admin \
 su - admin -c "touch me"

CMD ["su", "-", "admin", "-c", "/bin/bash"]

    enter code here

RUN mkdir ~/.ssh \
 chmod 700 ~/.ssh \
 touch ~/.ssh/authorized_keys \
 chmod 600 ~/.ssh/authorized_keys \
 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
RUN ssh -v ********@192.168******* 'DISPLAY=:0 start http://192.168******:8080'

当我尝试构建图像时,我得到了这个错误

Step 19/22 : RUN apt-get install -y sudo  adduser admin  echo "admin ALL=(root)
NOPASSWD:ALL" > /etc/sudoers.d/admin  chmod 0440 /etc/sudoers.d/admin  su - admi
n -c "touch admin"
 ---> Running in bec9f6cc1c7a
E: Opening configuration file touch admin - ifstream::ifstream (2: No such file
or directory)
The command '/bin/sh -c apt-get install -y sudo  adduser admin  echo "admin ALL=
(root) NOPASSWD:ALL" > /etc/sudoers.d/admin  chmod 0440 /etc/sudoers.d/admin  su
 - admin -c "touch me"' returned a non-zero code: 100
  1. 谁能帮忙纠正错误
  2. 接下来要完成的程序 3.我想了解“su - admin -c "touch me"”这行在做什么?????

【问题讨论】:

    标签: linux unix docker


    【解决方案1】:

    更好的方法可能是:

    RUN apt-get install -y sudo \
     adduser admin \
     echo "admin ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/admin \
     chmod 0440 /etc/sudoers.d/admin 
    
    USER admin
    RUN touch me
    CMD ["/bin/bash"]
    

    【讨论】:

    • 第二个和第三个问题我能得到答案吗? @klashxx
    猜你喜欢
    • 2019-07-06
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 2020-09-17
    相关资源
    最近更新 更多