Acho que você está perdendo o parâmetro -d
para executá-lo em segundo plano
docker run -d --name "Test" gcr.io/tensorflow/tensorflow:latest-gpu
Fazer isso inicia o contêiner sem transferi-lo para ele. Dessa forma, seu script pode continuar a executar outros comandos.
Agora, se você realmente precisa "mover alguns arquivos" dentro do contêiner, o que você pode fazer é montá-lo como um volume e executá-lo.
docker run -d -v$(pwd):/my --name Test gcr.io/tensorflow/tensorflow:latest-gpu bash
docker exec -d Test bash /my/script.sh
Dessa forma, você monta seu diretório de trabalho predefinido no contêiner e, em seguida, no contêiner, esse script, enquanto continua no script original. então adicione
docker exec -it Test bash
e agora você está no seu contêiner, depois de ter executado o script.
ou, você pode simplesmente executar vários comandos exec do docker em vez de montar uma pasta.
#!/bin/bash
docker run -d --name Test gcr.io/tensorflow/tensorflow:latest-gpu bash
docker exec -d Test bash cp /x /y
docker exec -d Test bash cp /y /z
docker exec -it Test bash