Como executar o código-fonte com o docker exec?

4

Eu queria criar um arquivo em um contêiner do Docker executando o Ubuntu sem entrar no contêiner.

Eu costumava:

docker exec -it CONTAINER_ID bash
source FILE

Agora eu queria fazer:

docker exec -it CONTAINER_ID source FILE

e ficou surpreso que o erro apareceu:

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

É verdade que percebi que source não parece ser o seu comando padrão, pois não consigo localizá-lo via which source . ls se comporta bem.

Que tipo de coisa é esse comando source e como executá-lo via docker exec -it ?

    
por k0pernikus 17.11.2015 / 12:46

1 resposta

7

Source não é um executável ( source é um comando interno do shell bash que executa o conteúdo do arquivo passado como argumento )

Você deve executar um código assim:

docker run --rm -ti _image_name_ bash -c 'source FILE'
    
por 17.11.2015 / 13:25