Ignacio
Ignacio

Reputation: 7938

translate network option in docker run to docker-compose?

I would like to translate the following docker command to a docker-compose file:

docker run -d  --restart=always -v /var/run/docker.sock:/var/run/docker.sock --net shinyproxy-net -p 8080:8080 imshinyproxy

This is the docker-compose.yml that I wrote:

version: "3.7"
services:
  shinyproxy:
    image: imshinyproxy
    container_name: imshinyproxy
    environment:
      - PUID=1000
      - PGID=65537
      - TZ=america/new_york
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 8080:8080
    networks:
      - shinyproxy-net
    restart: unless-stopped

Alas, when I try to run docker-compose up I get the following error:

$ docker-compose up
ERROR: Service "shinyproxy" uses an undefined network "shinyproxy-net"

I know the network exist:

$ sudo docker network create shinyproxy-net
Error response from daemon: network with name shinyproxy-net already exists

What am I doing wrong?

Upvotes: 1

Views: 101

Answers (1)

norbjd
norbjd

Reputation: 11237

You must declare an external network in the networks section of your docker-compose.yml :

version: "3.7"

services:
  shinyproxy:
    [...]
    networks:
      - shinyproxy-net

networks:
  shinyproxy-net:
    external:
      name: shinyproxy-net

networks.shinyproxy-net.external.name should correspond to the name of your previously created network.

Upvotes: 2

Related Questions