Ошибка команды развертывания стека Docker: составьте файл yml docker-compose.yml - PullRequest
0 голосов
/ 25 сентября 2018
[root@d1 docker]# docker stack deploy -c docker-compose.yml getstartedlab
yaml: line 12: did not find expected key

Здесь я использую файл docker yml, смотрите приведенный ниже файл docker-compose.yml

version: "3"
services:
   web:
      image: pragneshpanchal/httpdsrv
      deploy:
        replicas: 5
        resources:
           limits:
              cpus: "0.1"
              memory: 50M
           restart_policy:
              condition:on-failure
          ports:
             - "4000:80"
          networks:
              - webnet
        networks:
          webnet:

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Вы поместили свой Yaml через валидатор yaml?

Он действительно чувствителен к отступу, поэтому, если вы поместите слишком много пробелов в каком-то месте, у вас может быть странное поведение даже с чем-то допустимым.

Я пытался пропустить ваш файл через этот валидатор (http://www.yamllint.com/), и он стал ложным при копировании / вставке в него. Старайтесь соблюдать два пробела при работе с дочерним элементом, например так:

services:
  web:
    image: pragneshpanchal/httpdsrv

В настоящий момент я вижу несколько типов интервалов, и это всегда будет приводить к ошибкам. Как в портах и ​​первом сетевом вызове.

Для второго сетевого вызова он должен быть натот же уровень, что и для служб.

И, наконец, как указано в ответе Марка, в состоянии перезагрузки отсутствует пробел.

0 голосов
/ 25 сентября 2018

Вам не хватает пробела между condition: и on-failure.Пожалуйста, добавьте пробел и посмотрите, работает ли он.

...