2
我使用lemonlatte/docker-webvirtmgr作为基本文件,但问题是没有为用户www-data配置ssh密钥,所以我编写了以下shell脚本:在容器中运行shell脚本
#!/bin/sh
if [ ! -d "/var/local/webvirtmgr/nginxhome" ]; then
mkdir /var/local/webvirtmgr/nginxhome
chown -R www-data:www-data /var/local/webvirtmgr/nginxhome
usermod -d /var/local/webvirtmgr/nginxhome www-data
su - www-data -s /bin/bash -c "ssh-keygen -b 2048 -t rsa -f ~/.ssh/id_rsa -q -N ''"
su - www-data -s /bin/bash -c "touch /var/local/webvirtmgr/nginxhome/.ssh/config && echo -e 'StrictHostKeyChecking=no\nUserKnownHostsFile=/dev/null' >> /var/local/webvirtmgr/nginxhome/.ssh/config"
su - www-data -s /bin/bash -c "chmod 0600 ~/.ssh/config"
fi
之后,我添加了两个语句到dockerfile:
ADD setupssh.sh /webvirtmgr/setupssh.sh
RUN /bin/sh -c "/webvirtmgr/setupssh.sh"
我已经尝试过CMD /webvirtmgr/setupssh.sh,RUN /webvirtmgr/setupssh.sh但没有成功...
当我手工运行容器内的脚本,它工作正常。
这里有什么问题?
问候
UPDATE: 这里是链接到维护者的回购:link
更新2: 的dockerfile的构建成功,我把之间的语句:
RUN apt-get -ys clean
<statements were here>
WORKDIR/
请您分享您的dockerfile? – christian
当您尝试构建修改后的Dockerfile时,您是否收到错误消息?在哪里添加了这两行代码? –
试图用相同的两条附加行重新创建您的docker文件,并且我能够在没有任何问题的情况下运行它。首先我得到了“/ bin/sh:1:/webvirtmgr/setupssh.sh:Permission denied” - >改变了chmod,我能够调用容器中的shell脚本 –