[Starlingx-discuss] Docker Compose Based Project

Arce Moreno, Abraham abraham.arce.moreno at intel.com
Fri Sep 13 20:17:48 UTC 2019


Hi everyone,

I am working to run my personal project in a StarlingX 2.0 Simplex with only Kubernetes enabled (no OpenStack), it is based in Docker Compose:
https://gitlab.com/bosques-urbanos/ich/ich/blob/master/docker-compose.yml

This project is actually running in Ubuntu 16.04 configuration with the following Docker versions:
   Client: Docker Engine - Community
    Version:           19.03.1
   Server: Docker Engine - Community
     Version:          19.03.1

Taking a look at StarlingX, the Docker version is:
   Client:
    Version:           18.09.6
   Server: Docker Engine - Community
     Version:          18.09.6

I started to run all the Docker compose services but due the failures then decided only to enable one, choosing Node-RED service, and finally run directly the container, all details are at [0].
	
[ Behavior One ]
If I use the default "network_mode: host", I do not have any issue in running the container but I am not able to reach the Node-RED service via its default port, 1880. Is there configuration to unlock the access?

[ Behavior Two ]
If I changed to "network_mode: bridge", the following issue is seen:

  ERROR: for ich-nodered  Cannot start service nodered: driver failed programming external connectivity on endpoint ich-nodered (1705ad57655d3508d677ff7dc40f7e0b43950e095bc4f085c65f4143b4b317e9):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 1880 -j DNAT --to-destination 172.17.0.2:1880 ! -i docker0: iptables: No chain/target/match by that name.
    (exit status 1))
   ERROR: for nodered  Cannot start service nodered: driver failed programming external connectivity on endpoint ich-nodered (1705ad57655d3508d677ff7dc40f7e0b43950e095bc4f085c65f4143b4b317e9):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 1880 -j DNAT --to-destination 172.17.0.2:1880 ! -i docker0: iptables: No chain/target/match by that name.
    (exit status 1))
   ERROR: Encountered errors while bringing up the project.

[ Behavior Two ]
If I want to run it directly through docker:

   controller-0:~/ich$ docker run -it -p 1880:1880 --name mynodered nodered/node-red-docker
   ...
   Status: Downloaded newer image for nodered/node-red-docker:latest
   docker: Error response from daemon: driver failed programming external connectivity on endpoint mynodered (6c780d14cd0abbc6c6fb3ee12622650a273589f7e8566deb29b1640a470c6c44):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 1880 -j DNAT --to-destination 172.17.0.2:1880 ! -i docker0: iptables: No chain/target/match by that name.
    (exit status 1)).

Is there a way to allow StarlingX run my services with Docker compose? Anything missing network configuration I am missing? Any help is appreciated.

[0] https://gitlab.com/bosques-urbanos/ich/ich/wikis/StarlingX




More information about the Starlingx-discuss mailing list