В хосте я создал docker сеть, используя следующую команду:
docker network create -d macvlan \
--subnet=192.168.2.0/24 \
--gateway=192.168.2.1 \
-o parent=eth0 pub_net
docker сеть показывает ниже:
[root@192-168-2-70 shell]# docker network ls
NETWORK ID NAME DRIVER SCOPE
935ae8b52eb2 bridge bridge local
81577f72f606 host host local
846d54a2c7da none null local
158428b19c4d pub_net macvlan local
[root@192-168-2-70 shell]#
и docker контейнер с указанным IP может быть запущен командой:
docker run --net = pub _net --ip = 192.168.2.10 --name hadoop0 --hostname hadoop0 -d -P had oop -cluster-hadoop0: v1.1
, но когда я преобразую указанную выше команду в docker -compose файл, как показано ниже:
version: '3'
services:
hadoop-cluster-hadoop0:
container_name: hadoop0
restart: always
networks:
pub_net:
ipv4_address: 192.168.2.10
volumes:
- /tmp/hadoop0/logs:/tmp
extra_hosts:
- "hadoop0:192.168.1.10"
- "hadoop1:192.168.1.11"
- "hadoop2:192.168.1.12"
- "dbus-n1:192.168.2.81"
image: 'hadoop-cluster-hadoop0:v1.1'
networks:
put_net:
external: true
произошла следующая ошибка.
[root@192-168-2-70 shell]# docker-compose up -d
WARNING: Some networks were defined but are not used by any service: put_net
ERROR: Service "hadoop-cluster-hadoop0" uses an undefined network "pub_net"
[root@192-168-2-70 shell]#
Может кто-нибудь помочь мне, как исправить файл docker -compose? Как docker сеть может быть создана в docker -компонентном файле, а не создана заранее?
Очень признателен за вашу помощь !!!