Я использую lemonlatte/docker-webvirtmgr в качестве базового файла, но проблема в том, что для пользовательских www-данных нет ssh-ключей, поэтому я написал следующий сценарий оболочки:Запуск сценария оболочки внутри контейнера
#!/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
UPDATE 2: Строить из dockerfile был успешным, и я положил заявление между:
RUN apt-get -ys clean
<statements were here>
WORKDIR/
могли бы вы поделиться своим dockerfile? – christian
Вы получаете сообщение об ошибке, когда пытаетесь создать модифицированный файл Docker, где вы добавили эти две строки? –
Просто попытался воссоздать ваш файл докеров с теми же двумя добавленными строками, и я смог запустить его без каких-либо проблем. Сначала я получил «/ bin/sh: 1: /webvirtmgr/setupssh.sh: Permission denied» -> изменение chmod, я смог вызвать скрипт оболочки внутри контейнера –