easy-nmos
easy-nmos copied to clipboard
Can not access to control page via browser
Hi Richard,
I'm a beginner of docker and Linux only have a little bit experience of docker and docker-compose. My problem is that when I modify the docker-compose.yaml file and change the ip address to match the subnet of my ubuntu 22.04 laptop NIC, such as the enp4s0 or wlp5s0 interface, cpp will run but nmos-testing will not. Based on another issue report and the log, I understand that the problem of nmos-testing is relate to internet connection, but my question is, when easy-nmos set the macvlan to based on both the docker0 and enp4s0 or wlp5s0, I cannot access to the easy-nmos controller page via browser, even if I use the ip address or localhost:80. Could you please guild me to solve this problem?
My docker0 is 172.17.0.0/16, wls5p0 is 192.168.2.0/24, if I modify the macvlan interface to docker0, and use 172.17.0.0/16, the docker-compose shows
failed to create network easy-nmos-master_external: Error response from daemon: Pool overlaps with other one on this address space
if I use wlp5s0 which is a wireless nic but only for testing easy-nmos and to make sure the internet connection, the container will running, but I can't access both controller or others page.
Many thanks!
My docker-compose file content:
version: '3.6'
services:
Create NMOS Registry/Controller container instance
nmos-registry: image: rhastie/nmos-cpp:latest container_name: nmos-registry hostname: nmos-registry domainname: local ports: - "80-81:80-81" - "1883:1883" volumes: - "./registry.json:/home/registry.json" environment: - RUN_NODE=FALSE networks: external: ipv4_address: '172.17.0.241'
Create NMOS Virtual Node container instance
nmos-virtnode: image: rhastie/nmos-cpp:latest container_name: nmos-virtnode hostname: nmos-virtnode domainname: local ports: - "80-81:80-81" volumes: - "./node.json:/home/node.json" environment: - RUN_NODE=TRUE networks: external: ipv4_address: '172.17.0.242' depends_on: - nmos-registry
Create AMWA NMOS Testing container instance
nmos-testing: image: amwa/nmos-testing:latest container_name: nmos-testing hostname: nmos-testing domainname: local entrypoint: | /bin/bash -c "/etc/init.d/dbus start; /etc/init.d/avahi-daemon start; python3 nmos-test.py" ports: - "5000:5000" volumes: - "./UserConfig.py:/config/UserConfig.py" networks: external: ipv4_address: '172.17.0.243' depends_on: - nmos-virtnode
networks: external: # Create external macvlan subnet using host physical interface allowing containers to have their own IP addresses driver: macvlan driver_opts: parent: docker0 ipam: config: - subnet: 172.17.0.0/16
Also, I try to change the NIC from wireless interface wlp5s0 to wired interface enp4s0, the subnet also 192.168.2.0/24 which is same than wlp5s0, but still cannot access the controller page.
BTW, when I input the docker network ls
, I can see the macvlan interface is running, and based on this wired interface, the nmos-testing container can be work, or not stop due to no internet connection.
NETWORK ID NAME DRIVER SCOPE e961fb0a99c6 bridge bridge local 360fb110c122 easy-nmos-master_external macvlan local d3ec9ba43cad host host local e0f7ff562623 none null local
Ok... You have a couple of mistakes here...
Firstly, in the networks sections of the YAML you have a parent paramater. This refers to the "interface" you want to use for the MACVLAN bridge. In your case you want to use either enp4s0 or wlp5s0 and not docker0
Secondly, the MACLAN creates a bridge to this interface. You must have the interface IP and all the static IP's you define in the YAML in the same subnet and also set this subnet in the networks section of the YAML. In your example you wire IP address might be 192.168.2.20 on your interface. As such you need to set the subnet to 192.168.2.0/24 and then set static IP's such as 192.168.2.220 - 192.168.2.222 etc.
Finally you should use an external host (eg. browser) to communication with the IP address of the controller. You must not use Firefox on the host etc. There is no communication path between your IP address on the host and the static IP addresses. I always use a browser on another host completely.
Good luck and I hope this helps... Rich.
Wooo, many thanks, it's really work, finally I change to my Mac and running ubuntu in VM, all is no problem! Thanks again, and have a great day!