Docker запускает скрипт bash, затем удаляет контейнер

Есть ли способ, которым я могу запустить скрипт bash внутри контейнера, а затем удалить контейнер, все в одной строке? Скрипт должен иметь возможность выполнять запись в папку, в которой он находится в данный момент.

Я пытался

docker run --rm -ti ubuntu:trusty bash -c 'source runme.sh'

но bash не может найти файл, я предполагаю, потому что контейнер не имеет доступа к папке, в которой находится скрипт.

Если сценарий недоступен внутри контейнера, вам необходимо смонтировать сценарий как том внутри контейнера:

$ cat << EOF > sample_script.shecho 'Hello, world'EOF

Запустите контейнер docker следующим образом (здесь, /path/to/sample_script.sh это путь в хосте):

$ docker run -v /path/to/sample_script.sh:/sample_script.sh \  --rm ubuntu bash sample_script.shHello, world

Контейнер будет удален после выполнения. Обратите внимание, что вам не нужно запускать его в интерактивном режиме, будут отображаться стандартные выходные данные.

То запуск докера ссылка содержит подробную информацию об использовании томов таким образом.

Если все, что вы хотите сделать, это выполнить скрипт, вы можете просто использовать bash для чтения скрипта из stdin.

sample_script.sh < docker run --rm -i ubuntu bash -c 'source /dev/stdin'