Compose Loop Back Permission Error


#1

I’m migrating our home grown solution to use the new multi-container support of Resin. Previously we were running multiple apps from a single docker file.

One of the things that we did was setup a loopback within our network-manager container. While this worked fine in our solution, we are hitting major issues inside of a container. We get a simple error “Failed to configure loopback device: Permission denied”. We are running in privileged mode, we are using the exact same code.

Below are our compose file and relevant Docker File:

Compose:

version: '2'
services:
  machine-comm:
    privileged: true
    restart: always
    build: machineComms
    ports:
    - "81:81"
  network-manager:
    privileged: true
    restart: always
    labels:
      io.resin.features.dbus: '1'
    build: networkManager
    ports:
    - "80:80"
  front-end:
    privileged: true
    restart: always
    build: frontEnd 
    ports:
    - "8080:80"

Docker File

FROM resin/%%RESIN_MACHINE_NAME%%-golang:slim

ENV INITSYSTEM on

ENV PORT 8080
ENV DBUS_SYSTEM_BUS_ADDRESS /host/run/dbus/system_bus_socket

ENV HOTSPOT_UUID 349b60d6-0528-11e8-ba89-0ed5f89f718b
ENV HOTSPOT_INTERFACE wlan0
ENV HOTSPOT_PSK wmaHOTSpot
ENV HOTSPOT_IP 10.0.0.1
ENV HOTSPOT_PREFIX 24

WORKDIR /go/src/network-manager-server
COPY . ./
RUN go build server.go

CMD ./server -reset

This seems to have mostly impacted our routing of HTTP requests to each other. Does this problem solve itself if we start using Docker’s built in container to container messaging?


#4

Hi @sam . Do you setup a loop device in your application?