Anexar ao container em execução e observar sua saída
Na etapa anterior, iniciamos um container em modo detached. Embora o container tenha executado um comando simples e provavelmente tenha finalizado rapidamente, ainda podemos anexar a ele para ver sua saída. O comando docker attach permite que você se conecte aos fluxos de entrada, saída e erro padrão de um container em execução ou finalizado.
Primeiro, vamos obter o ID do container que iniciamos na etapa anterior. Você pode usar o comando docker ps -a e procurar o container que executa o comando echo. Copie o ID do container.
docker ps -a
Agora, use o comando docker attach seguido pelo ID do container para anexar ao container.
docker attach <container_id>
Substitua <container_id> pelo ID real do seu container. Como o container executou um comando echo simples e finalizou, você pode não ver nenhuma saída imediatamente, ou pode ver a saída "Hello from detached container!" se a saída ainda estiver em buffer. O comando attach irá conectá-lo aos fluxos do container. Como o container já concluiu sua tarefa, o comando attach provavelmente sairá imediatamente após a conexão.
Para demonstrar a anexação a um container que permanece em execução, vamos iniciar um novo container detached que executa um comando que o mantém ativo por alguns segundos. Usaremos a imagem ubuntu novamente e executaremos sleep 10.
docker run -d ubuntu sleep 10
Obtenha o ID deste novo container usando docker ps. Desta vez, o container deve estar no estado Up.
docker ps
Agora, anexe a este container em execução usando seu ID.
docker attach <new_container_id>
Substitua <new_container_id> pelo ID do container que executa sleep 10. Você estará anexado aos fluxos padrão do container. Como o comando sleep não produz saída, você não verá nada. O terminal parecerá estar esperando. O container será executado por 10 segundos e depois finalizará. Quando o container finalizar, o comando attach também finalizará, retornando você ao seu prompt de terminal.