Quero iniciar um serviço com docker-compose e manter o contêiner em execução para que possa obter seu endereço IP por meio de 'docker inspect'. No entanto, o contêiner sempre sai logo após a inicialização.
Tentei adicionar "command: [" sleep "," 60 "]" e outras coisas ao docker-compose.yml, mas sempre que adiciono a linha com "command: ..." não consigo chamar "docker-compose up" pois receberei a mensagem "Não é possível iniciar o contêiner ..... Erro de sistema: caractere inválido 'k' procurando o início do valor"
Eu também tentei adicionar "CMD sleep 60" e outros enfeites ao próprio Dockerfile, mas esses comandos não parecem ser executados.
Existe uma maneira fácil de manter o contêiner vivo ou de consertar um dos meus problemas?
EDIT: Aqui está o arquivo Compose que desejo executar:
version: '2'
services:
my-test:
image: ubuntu
command: bash -c "while true; do echo hello; sleep 2; done"
Está funcionando bem Se eu começar com docker-compose no OS X, mas se eu tentar o mesmo no Ubuntu 16.04, aparece a mensagem de erro acima.
Se eu tentar a abordagem com o Dockerfile, o Dockerfile ficará assim:
FROM ubuntu:latest
CMD ["sleep", "60"]
Que parece não fazer nada
EDIT 2: Tenho que me corrigir, descobri que era o mesmo problema com o Dockerfile e o docker-compose.yml: Cada vez que adiciono "CMD ..." ao Dockerfile OU adiciono "command ..." o arquivo de composição, recebo o erro acima com o caractere inválido. Se eu remover os dois comandos, ele funcionará perfeitamente.