2015-07-23 2 views
0

мне нужно запустить некоторые комментарии внутри грузчиком контейнераисполняемый файл для изменения каталога-докер

docker exec -i -t mycontainer cd /root/myfolder 

Это показывает, что

exec: "cd": executable file not found in $PATH 

Так кд не исполняемый файл, но он реализован в виде встроенная оболочка

Есть ли альтернатива «cd» для смены каталога как исполняемого файла или есть ли другой способ выполнить команду изменения каталога с докером?

ответ

0

Что вы используете в качестве базового изображения для своего контейнера? cd обычно не является bash или sh встроен, но является собственностью. Попробовали ли вы это, предоставив полный путь к команде cd (например, /usr/bin/cd)? Кстати, эта команда не имеет смысла сама по себе. Он должен был выполнить команду cd в среде контейнеров, а затем завершить. Затем информация, которую вы изменили в этот каталог, будет потеряна.

+0

Мне нужно запустить скрипт, который находится внутри контейнера, поэтому мне нужно сменить каталог (скажем/root/myfolder) на тот, который содержит скрипт, а затем запустил его. Не скажите мне запустить скрипт запущенный источник /root/myfolder/myscript.sh, bcoz в скрипте уже есть некоторая относительная информация о пути. Надеюсь, вы поняли мой сценарий. – zappy

+2

В этом случае вы можете сделать что-то вроде: 'docker exec -it mycontainer/bin/sh -c '/ usr/bin/cd/root/myfolder && ./script.sh" ' – h3nrik

+0

"/bin/sh: 1:/usr/bin/cd: не найден "получение этой ошибки .. – zappy