Почему я не могу записать компакт-диск в Dockercontainer? - PullRequest
1 голос
/ 14 февраля 2020

Я хотел бы автоматически выполнять задачи внутри контейнера docker. Задача, которая должна быть выполнена, должна быть запущена в указанном c, смонтированном каталоге. Для этого я использую команду this:

docker run --rm -v /a/dir/on/my/host:/tmp some_container /bin/bash -c "cd /tmp/dir/inside/volume && echo \"$PWD\""

, за которой следует фактическая задача, которую я опускаю из-за краткости.

PWD должен дать мне /tmp/dir/inside/volume, но печатает /a/dir/on/my/host. Почему это?

1 Ответ

2 голосов
/ 14 февраля 2020

$PWD расширяется до запуска вашего контейнера. Используйте одинарные кавычки вместо двойных, чтобы отложить расширение. Также проще использовать --workdir или -w вместо cd .. && и subshell.

docker run --rm -v /a/dir/on/my/host:/tmp some_container /bin/bash -c 'cd /tmp/dir/inside/volume && echo "$PWD"'

или я предлагаю:

docker run --rm -v /a/dir/on/my/host:/tmp -w /tmp/dir/inside/volume /some_container pwd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...