Chcę uruchomić usługę za pomocą docker-compose i utrzymać kontener w ruchu, abym mógł uzyskać jego adres IP przez „docker inspect”. Jednak kontener zawsze wychodzi zaraz po uruchomieniu.
Próbowałem dodać "command: [" sleep "," 60 "]" i inne rzeczy do docker-compose.yml, ale ilekroć dodam wiersz z "command: ..." Nie mogę wywołać "docker-compose up" ponieważ otrzymam komunikat „Nie można uruchomić kontenera ..... Błąd systemu: nieprawidłowy znak 'k' szukający początku wartości”
Próbowałem też dodać "CMD sleep 60" i inne rzeczy do samego Dockerfile, ale te polecenia nie wydają się być wykonywane.
Czy istnieje łatwy sposób na utrzymanie pojemnika przy życiu lub rozwiązanie jednego z moich problemów?
EDYCJA: Oto plik tworzenia, który chcę uruchomić:
version: '2'
services:
my-test:
image: ubuntu
command: bash -c "while true; do echo hello; sleep 2; done"
Działa dobrze Jeśli zacznę to od docker-compose pod OS X, ale jeśli spróbuję tego samego pod Ubuntu 16.04, pojawi się powyższy komunikat o błędzie.
Jeśli spróbuję podejścia z plikiem Dockerfile, plik Dockerfile wygląda następująco:
FROM ubuntu:latest
CMD ["sleep", "60"]
Co wydaje się nic nie robić
EDYCJA 2: Muszę się poprawić, okazało się, że to ten sam problem z plikiem Dockerfile i docker-compose.yml: Za każdym razem, gdy dodaję „CMD ...” do Dockerfile LUB dodaję „polecenie ...” do plik tworzenia, otrzymuję powyższy błąd z nieprawidłowym znakiem. Jeśli usunę oba polecenia, działa bezbłędnie.