Compose: services.xxx.networks содСрТит {"ExtNet": {"ipv4_address": "192.168.1.11"}}, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся нСдопустимым Ρ‚ΠΈΠΏΠΎΠΌ, это Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ строка

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 13 ΠΌΠ°Ρ€. 2017  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: docker/compose

Envionment:

вСрсия для создания Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠ²
docker-compose вСрсия 1.11.2, сборка dfed245
вСрсия docker-py: 2.1.0
ВСрсия CPython: 2.7.5
ВСрсия OpenSSL: OpenSSL 1.0.1e-fips 11 фСвраля 2013 Π³.

```uname -srvmpio
Linux 3.10.0-514.6.1.el7.x86_64 #1 SMP Wed Jan 18 13:06:36 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux```

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ:

version: '2.1'

services:
  xxx:
    image: xxx:latest
    networks:
      - ExtNet:
          ipv4_address: 192.168.1.11
      - IntNet

networks:
  ExtNet:
    driver: macvlan
    driver_opts:
      parent: enp3s0
    ipam:
      config:
        - gateway: 192.168.1.1
          ip_range: 192.168.1.10/28
          subnet: 192.168.1.0/24
  IntNet:
    internal: True
    driver: bridge
    ipam:
      config:
        - ip_range: 10.0.0.0/16
          subnet: 10.0.0.0/16

Ошибка:

services.xxx.networks contains {"ExtNet": {"ipv4_address": "192.168.1.11"}}, which is an invalid type, it should be a string

# Tried docker compose yaml version 2.0, 2.1 and 3.0.

ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ΡΡ:

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ статичСский IP-адрСс ΠΈΠ· ExtNet ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠ² xxx Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

БобствСнно, ΠΈ вторая конфигурация Π½Π΅Π²Π΅Ρ€Π½Π°. networks - это Π»ΠΈΠ±ΠΎ список строк, Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (это имя YAML для dict Python). https://docs.docker.com/compose/compose-file/compose-file-v2/#networks

НапримСр, Π²ΠΎΡ‚ допустимый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

services:
  xxx:
    image: xxx:latest
    networks:
      ExtNet:
        ipv4_address: 192.168.1.11
      IntNet: {}

ВсС 4 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ExtNet Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ каТСтся Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ:
services:
  xxx:
    image: xxx:latest
    networks:
      - ExtNet:
          ipv4_address: 192.168.1.11

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· элСмСнтов Π² Β«services.xxx.networksΒ» являСтся строкой (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Β«IntNetΒ»), ΠΎΠ½ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ строкой.
МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ "services.xxx.networks" Π½Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°?

БобствСнно, ΠΈ вторая конфигурация Π½Π΅Π²Π΅Ρ€Π½Π°. networks - это Π»ΠΈΠ±ΠΎ список строк, Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (это имя YAML для dict Python). https://docs.docker.com/compose/compose-file/compose-file-v2/#networks

НапримСр, Π²ΠΎΡ‚ допустимый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

services:
  xxx:
    image: xxx:latest
    networks:
      ExtNet:
        ipv4_address: 192.168.1.11
      IntNet: {}

ΠšΡ€ΡƒΡ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ спасибо :)

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ