У Docker есть проблемы с ярлыками

Вопрос:

Я пытаюсь настроить обратный прокси Traefik, используя пример, показанный в их документах. Когда я пытаюсь вызвать службу «whoami», я получаю следующую ошибку:

Creating test_whoami_1 ...

ERROR: for test_whoami_1  dictionary update sequence element #0 has length 22; 2 is required

ERROR: for whoami  dictionary update sequence element #0 has length 22; 2 is required
Traceback (most recent call last):
File "bin/docker-compose", line 6, in <module>
File "compose/cli/main.py", line 68, in main
File "compose/cli/main.py", line 121, in perform_command
File "compose/cli/main.py", line 952, in up
File "compose/project.py", line 455, in up
File "compose/parallel.py", line 70, in parallel_execute
ValueError: dictionary update sequence element #0 has length 22; 2 is required
Failed to execute script docker-compose

Пример docker-compose.yml можно найти в документах Traefik: test/docker-compose.yml

version: '3.3'

services:
whoami:
image: emilevauge/whoami
networks:
- web
labels:
- "traefik.backend=whoami"
- "traefik.frontend.rule=Host:whoami.docker.localhost"

networks:
web:
external:
name: traefik_webgateway

traefik/Докер-compose.yml

version: '3.3'

services:
proxy:
image: traefik:1.4.1
restart: always
ports:
- 80:80
- 8080:8080
command: --web --docker --docker.domain=docker.localhost --logLevel=DEBUG
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./traefik.toml:/traefik.toml"
container_name: traefik

networks:
webgateway:
driver: bridge

Используя следующие версии докеров и докеров:

Docker version 17.09.0-ce, build afdb6d4
docker-compose version 1.17.0, build ac53b73

Лучший ответ:

Решение: перейти на docker-compose v1.16.1.

Ответ №1

Я подтверждаю ответ Метанерда:

с помощью

labels:
traefik.backend: "whoami"
traefik.frontend.rule: "Host:whoami.docker.localhost"

работает.

Ответ №2

Docker составляют ярлыки, включенные в версию v3.3, и вы используете версию 1.17.0

Дополнительную информацию см. В документе.

Ответ №3

Я считаю, что с 3.3, вы помещаете теги под свойством сборки, например, см. Ниже

version: '3.3'
services:
sample-app:
image: ${IMAGE_NAME}
build:
context: .
labels:
org.label-schema.build-date: ${BUILD_DATE}
org.label-schema.commit: ${COMMIT}
...

Из докера видно, что метки были нанесены

docker inspect --format='{{json .Config.Labels}}' blah/sample-app
{"org.label-schema.build-date":"2019-05-24-10-36-22","org.label-schema.commit":"2cc11a2"}

Смотрите https://docs.docker.com/compose/compose-file/

Оцените статью
TechArks.Ru
Добавить комментарий