2016-05-11 13 views
16

Mam naprawdę długą linię poleceń dla domyślnego procesu z powodu wielu argumentów. Myślę, że najłatwiej byłoby stworzyć skrypt (np. run.sh), a następnie wywołać ten skrypt w swoim ENTRYPOINT lub CMD. Zastanawiam się, czy istnieje sposób na zrobienie wielolinii ENTRYPOINT lub CMD (sposób, w jaki piszemy RUN). Na przykładMultilinie Docker CMD lub ENTRYPOINT

ENTRYPOINT["/path/myprocess", 
      "arg1", 
      "arg2" ] 

Myślałem, że jest to poprawna składnia, ponieważ format jest json. Jednak docker build wyrzuca błąd

Step 14 : ENTRYPOINT[ 
Unknown instruction: ENTRYPOINT[ 

Czy istnieje sposób mogę podzielić ENTRYPOINT do wielu wierszy?

+2

Mój błąd. Brakowało mi spacji między "ENTRYPOINT" i "[. Zauważyłem, że plik dockerfile obsługuje wielowierszowe 'ENTRYPOINT' i' CMD' przez zakończenie linii przez '\'; taki sam jak "RUN". – donnie

+0

Dodaj odpowiedź i zaakceptuj ją, a następnie :) – L0j1k

Odpowiedz

21

To był literówka w pliku docker. Brakowało mi space między ENTRYPOINT i [. Dockerfile obsługuje multilinię ENTRYPOINT i CMD poprzez zakończenie linii z \, tak samo jak RUN. Tak więc w moim przypadku może to być