【发布时间】:2015-08-19 06:44:23
【问题描述】:
我使用lemonlatte / docker-webvirtmgr 作为基础文件,但问题是没有为用户www-data 配置ssh 密钥,所以我编写了以下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 但没有成功...
当我在容器内手动运行脚本时,它工作正常。
这里有什么问题?
问候
更新: 这是维护者的repo链接:link
更新 2: dockerfile的构建成功了,我把语句放在了:
RUN apt-get -ys clean
<statements were here>
WORKDIR /
【问题讨论】:
-
你能分享你的 dockerfile 吗?
-
您在尝试构建修改后的 Dockerfile 时是否遇到错误,您已在其中添加了这两行?
-
刚刚尝试使用相同的两行添加行重新创建您的 docker 文件,我能够毫无问题地运行它。首先我得到“/bin/sh: 1: /webvirtmgr/setupssh.sh: Permission denied” -> 更改 chmod,我能够调用容器内的 shell 脚本
标签: bash shell docker ssh-keys