Docker execute o script bash e remova o contêiner

Existe uma maneira de executar um script bash dentro de um contêiner e remover o contêiner, tudo em uma única linha? O script deve ser capaz de escrever na pasta onde está atualmente.

Eu tentei

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

mas o bash não consegue encontrar o arquivo, estou assumindo porque o contêiner não tem acesso à pasta onde está o script.

Se o script não estiver disponível dentro do contêiner, você precisará montar o script como um volume dentro do contêiner:

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

Execute o contêiner do docker da seguinte maneira (aqui, /path/to/sample_script.sh é o caminho no host):

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

O contêiner será removido após a execução. Observação você não precisa executá-lo de forma interativa, a saída padrão será exibida.

O docker run a referência tem os detalhes sobre o uso de volumes dessa maneira.

Se tudo o que você deseja fazer é executar um script, basta usar o bash para ler o script do stdin.

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