将docker中的网络选项转换为docker-compose?

问题描述 投票:1回答:1

我想将以下docker命令转换为docker-compose文件:

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

这是我写的docker-compose.yml

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

唉,当我尝试运行docker-compose up时,我收到以下错误:

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

我知道网络存在:

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

我究竟做错了什么?

docker docker-compose
1个回答
2
投票

你必须在你的externalnetworks部分声明一个docker-compose.yml网络:

version: "3.7"

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

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

networks.shinyproxy-net.external.name应该与您之前创建的网络的名称相对应。

© www.soinside.com 2019 - 2024. All rights reserved.