Задания Dock Stack Отклонено из-за ошибки «Отказано в доступе» - PullRequest
0 голосов
/ 27 октября 2018

Я попытался развернуть стек (содержит один сервис) с помощью команды docker stack deploy и запустить 2 экземпляра из моего приложения на Swarm!вот мой файл docker-compose:

version: "3"
services:
  server:
    image: makbn/thumbnailer-server:v1
    deploy:
      replicas: 2
      update_config:
        parallelism: 2
      resources:
        limits:
          cpus: "0.1"
          memory: 1024M
      restart_policy:
        condition: on-failure
    ports:
      - 8080:8080
    networks: 
      - server_network
networks: 
  server_network:

После выполнения команды sudo docker stack deploy -c ./docker-compose.yml ts мой стек успешно развернут в рое, но вот мой вывод docker stack ps ts:

ID                  NAME                IMAGE                         NODE                DESIRED STATE       CURRENT STATE             ERROR                              PORTS
8zmjp6wt47ki        ts_server.1         makbn/thumbnailer-server:v1   fanap9-lp           Ready               Rejected 2 seconds ago    "mkdir /var/lib/docker: permis…"   
88vizpnabbi8         \_ ts_server.1     makbn/thumbnailer-server:v1   fanap9-lp           Shutdown            Rejected 7 seconds ago    "mkdir /var/lib/docker: permis…"   
609hl7hy7tnu         \_ ts_server.1     makbn/thumbnailer-server:v1   fanap9-lp           Shutdown            Rejected 12 seconds ago   "mkdir /var/lib/docker: permis…"   
gif8fvbgdhpy         \_ ts_server.1     makbn/thumbnailer-server:v1   fanap9-lp           Shutdown            Rejected 17 seconds ago   "mkdir /var/lib/docker: permis…"   
x60x9c6albe5         \_ ts_server.1     makbn/thumbnailer-server:v1   fanap9-lp           Shutdown            Rejected 22 seconds ago   "mkdir /var/lib/docker: permis…"   
ugvbw1gpdp8e        ts_server.2         makbn/thumbnailer-server:v1   fanap9-lp           Ready               Rejected 2 seconds ago    "mkdir /var/lib/docker: permis…"   
p34x1kp55ch8         \_ ts_server.2     makbn/thumbnailer-server:v1   fanap9-lp           Shutdown            Rejected 7 seconds ago    "mkdir /var/lib/docker: permis…"   
3exxflukrl4y         \_ ts_server.2     makbn/thumbnailer-server:v1   fanap9-lp           Shutdown            Rejected 12 seconds ago   "mkdir /var/lib/docker: permis…"   
ud83xfj5nefj         \_ ts_server.2     makbn/thumbnailer-server:v1   fanap9-lp           Shutdown            Rejected 17 seconds ago   "mkdir /var/lib/docker: permis…"   
ws35na8up793         \_ ts_server.2     makbn/thumbnailer-server:v1   fanap9-lp           Shutdown            Rejected 22 seconds ago   "mkdir /var/lib/docker: permis…"   

Иполное сообщение об ошибке: mkdir / var / lib / docker: разрешение отклонено

И другая проблема возникает, когда я пытался создать стек с docker service create службами команд, развернутыми и успешно запущенными, но яне могу получить доступ к услуге с моего локального хоста!у меня есть 2 вопроса:

  1. в чем проблема со стеком развертывания из файла композита и почему я получаю mkdir / var / lib / docker: разрешение отклонено ошибка?
  2. как настроить мою службу сети k на доступ с хоста?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Я устранял эту проблему на несколько часов раньше, когда контейнеры отображались как отклоненные и закрытые из-за той же ошибки «Отказано в доступе». У меня также был тот же контекст, что я мог вручную создавать + масштабировать сервис, но не мог достичь тех же результатов с моим .yml.

Следуя руководству по началу работы , в их docker-compose.yml примере они используют version: "3", но не говорят, что он должен соответствовать вашему соответствующему номеру формата составного файла. Мой номер оказался «3.7» в зависимости от установленной версии Docker, и после того, как я изменил его в docker-compose.yml, соответственно, мои контейнеры смогли реплицироваться, как и предполагалось, через docker stack deploy -c docker-compose.yml some-name.

Формат составного файла (CFF): версия механизма Docker (DCR)

CFF     DCR
3.7     18.06.0+
3.6     18.02.0+
3.5     17.12.0+
3.4     17.09.0+
3.3     17.06.0+
3.2     17.04.0+
3.1     1.13.1+
3.0     1.13.0+
2.4     17.12.0+
2.3     17.06.0+
2.2     1.13.0+
2.1     1.12.0+
2.0     1.10.0+
1.0     1.9.1.+

Справочный документ доступен ( здесь )

Пример недопустимого изменения

# From the Example
version: "3"
services:
  web:
    image: username/repo:tag

# What's actually required (in my case, because I'm using docker version 18.09.2)
version: "3.7"
services:
  web:
    image: username/repo:tag

Результаты после изменения

owner@test_server:~/myyml$ docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE                               PORTS
baxip2g6xgzy        first-swarm_web     replicated          5/5                 [username]/getting-started:my-serv   *:4000->80/tcp

owner@test_server:~/myyml$ docker service ps first-swarm_web
ID                  NAME                IMAGE                               NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
ss6jn07htkhp        first-swarm_web.1   [username]/getting-started:my-serv   test_server         Running             Running 37 minutes ago                       
n5eael5ae3jl        first-swarm_web.2   [username]/getting-started:my-serv   test_server         Running             Running 37 minutes ago                       
kzb3l1hzdpet        first-swarm_web.3   [username]/getting-started:my-serv   test_server         Running             Running 37 minutes ago                       
6ijgoebvhhdg        first-swarm_web.4   [username]/getting-started:my-serv   test_server         Running             Running 37 minutes ago                       
h0mbz1fp1id6        first-swarm_web.5   [username]/getting-started:my-serv   test_server         Running             Running 37 minutes ago
0 голосов
/ 30 ноября 2018

(Примечание: относится только к пользователям, которые могли установить докер через snap)

Я столкнулся с этой проблемой, потому что у меня был snap установленный докер, что означало, что docker-compose был озадачен моей установкой докера. /var/lib/docker выдавал ошибки прав доступа к файлу, потому что моя система фактически использовала docker на /snap/bin/docker

Чтобы проверить, так ли это для вас, вы можете запустить which docker. Если он возвращает /usr/bin/docker, вы выполнили обычную установку приложения. Если он возвращает что-то по пути /snap/, это означает, что вы установили его из пакета оснастки Docker (который больше не поддерживается. Ссылка: https://github.com/docker/docker-snap)

Чтобы устранить эту проблему, я сначала удалил установку док-станции моментального снимка, используя snap remove docker, а затем установил ее, следуя инструкциям по установке docker по адресу https://docs.docker.com/install/linux/docker-ce/ubuntu/#docker-ee-customers. После этого я мог развернуть стеки без проблем.

Я не могу вспомнить, откуда пришла в голову идея щелкнуть установщик Docker, но установка, настроив репозитории и затем запустив sudo apt install docker.io, кажется, путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...