docker-compose версия 3 синтаксис - PullRequest
0 голосов
/ 03 ноября 2018

Я собираю свой стек Docker-контейнера из различных примеров создания Docker по сети, и я постоянно сталкиваюсь с проблемами, пытаясь «преобразовать» между версиями файлов Docker-Comose.

В этом обсуждении я пытаюсь "преобразовать" пример сетевого драйвера Qnet Контейнерной станции Qnet [1]:

version: '2'
services:
  qnet_dhcp:
    image: alpine
    command: ifconfig eth0
    networks:
      - qnet-dhcp

  qnet_static:
    image: alpine
    command: ifconfig eth0
    networks:
      qnet-static:
        ipv4_address: 192.168.80.119

networks:
  qnet-dhcp:
    driver: qnet
    ipam:
      driver: qnet
      options:
        iface: "eth0"

  qnet-static:
    driver: qnet
    ipam:
      driver: qnet
      options:
        iface: "eth0"
      config:
        - subnet: 192.168.80.0/23
          gateway: 192.168.80.254

Я дошел до этого (раздел qnet-static, я не могу приступить к работе):

version: "3"
services:
  qnet_dhcp:
    image: alpine
    command: ifconfig eth0
    networks:
      - qnet-dhcp

networks:
  qnet-dhcp:
    driver: qnet
    driver_opts:
        iface: "eth0"

Это "компилирует", но я получаю ошибки при запуске (на QNAP TVS-1282T):

[/share/data/appdata] # docker-compose up -d
Creating network "appdata_qnet-dhcp" with driver "qnet"
Creating appdata_qnet_dhcp_1 ... error

ERROR: for appdata_qnet_dhcp_1  Cannot start service qnet_dhcp: failed to create endpoint appdata_qnet_dhcp_1 owork appdata_qnet-dhcp: NetworkDriver.CreateEndpoint: invalid literal for int() with base 16: ''

ERROR: for qnet_dhcp  Cannot start service qnet_dhcp: failed to create endpoint appdata_qnet_dhcp_1 on network ta_qnet-dhcp: NetworkDriver.CreateEndpoint: invalid literal for int() with base 16: ''
ERROR: Encountered errors while bringing up the project.

Может кто-нибудь прояснить изменения между файлом версии 2 и версией docker-compose, которые относятся к этому примеру?

[1] https://qnap -dev.github.io / container-station-api / qnet.html # docker-compose

1 Ответ

0 голосов
/ 06 января 2019

У меня была похожая проблема, в настоящее время я использовал следующий обходной путь.

  1. Я вручную создаю сеть:

    Докерская сеть создать -d qnet --ipam-драйвер = qnet --ipam-opt = iface = bond0 qnet-dhcp

  2. Затем используйте его в моем файле docker-compose, например так:

networks: qnet-dhcp: external: name: qnet-dhcp

...