compose icon indicating copy to clipboard operation
compose copied to clipboard

[BUG] Compose up often fails to join one random network on v2.24.6

Open Millio345 opened this issue 4 months ago • 5 comments

Description

This may be closely related to #11510 but it seemed different enough to open another issue. Whenever I run docker-compose up -d and one or multiple containers in the compose has multiple networks, it often randomly fails to join exactly one network.

I have tried with internal, external and a mix of internal and external networks with anything between 3 and 10 networks and the result is always the same: About 60% of the time it fails to join exactly one network, the exact network is different. Tried on 2 different installations and both has the same result.

I see nothing relevant in the container logs, journalctl or docker event.

Reverting to 2.24.5 fixes this problem.

Steps To Reproduce

  1. Create docker-compose file with at least one container with multiple networks, for example:
version: "3.8"
networks:
  test1:
  test2:
  test3:

services:
  whoami:
    image: traefik/whoami
    container_name: whoami
    networks:
      - test1
      - test2
      - test3

  1. run docker-compose up
  2. run docker container inspect and count the networks

Doing the above 10 times, the container joined all 3 networks 4 times and then only 2 networks 6 times (the missing network seemed random, either test1, test2 or test3)

A quick way to test step 2 and 3: docker stop whoami && docker rm whoami && docker compose up -d && docker container inspect -f '{{ len .NetworkSettings.Networks }}' whoami && docker container inspect -f '{{ range $key, $value := .NetworkSettings.Networks }}{{$key}} {{end}}' whoami

Compose Version

Docker Compose version 2.24.6

Docker Environment

Client:
 Version:    25.0.2
 Context:    default
 Debug Mode: false
 Plugins:
  compose: Docker Compose (Docker Inc.)
    Version:  2.24.6
    Path:     /usr/lib/docker/cli-plugins/docker-compose

Server:
 Containers: 54
  Running: 4
  Paused: 0
  Stopped: 50
 Images: 83
 Server Version: 25.0.2
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: true
  Native Overlay Diff: false
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7c3aca7a610df76212171d200ca3811ff6096eb8.m
 runc version: 
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.7.5-arch1-1
 Operating System: Arch Linux
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 31.31GiB
 Name: PC
 ID: ZVFP:QROB:AMZD:7QXN:EBLS:QEAF:NVK2:NCJL:MJF5:GIXF:NQ4I:S5EH
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Anything else?

No response

Millio345 avatar Feb 21 '24 10:02 Millio345

Hello @Millio345 Can you test with Docker engine version 25.0.3 to check if this is not something already fixed?

glours avatar Feb 21 '24 10:02 glours

Hello @Millio345 Can you test with Docker engine version 25.0.3 to check if this is not something already fixed?

Thank you - Latest version available for Arch seems to be 25.0.2 but I'll test and report back as soon as an update is available

Millio345 avatar Feb 21 '24 10:02 Millio345

Reverting to 2.24.5 did not fix the problem for me. I did think it would since docker compose was one of the most recent thing which changed.

I have a Nextcloud instance which will not connect to the database because it is not seen on the network as it usually is.

My config looks like this:

$ cat docker-compose.yml                                                                                                                                          
version: '3.7'                                                                                                                                                                                
x-volumes:                                                                                                                                                                                    
  &nextcloud-volumes                                                                                                                                                                          
      - /mnt/data/ansible/nextcloud/custom_apps:/var/www/html/custom_apps                                                                                                                     
      - /mnt/data/ansible/nextcloud/config:/var/www/html/config                                                                                                                               
      - /mnt/data/ansible/nextcloud/data:/var/www/html/data                                                                                                                                   
      - /mnt/data/ansible/nextcloud/themes:/var/www/html/themes                                                                                                                               
      - /mnt/data/ansible/nextcloud/root:/var/www/html                                                                                                                                        
x-nextcloud-image: &nextcloud-image                                                                                                                                                           
  "nextcloud:stable"                                                                                                                                                                          
                                                                                                                                                                                              
services:                                                                                                                                                                                     
  db:                                                                                                                                                                                         
    image: mariadb:10.6                                                                                                                                                                       
    environment:                                                                                                                                                                              
      MYSQL_ROOT_PASSWORD: "xxxx"                                                                                                                                                     
      MYSQL_DATABASE: nextcloud                                                                                                                                                               
      MYSQL_USER: nextcloud                                                                                                                                                                   
      MYSQL_PASSWORD: "xxxx"                                                                                                                                                          
    volumes:                                                                                                                                                                                  
      - /mnt/data/ansible/nextcloud/mariadb_data:/var/lib/mysql                                                                                                                               
    networks:                                                                                                                                                                                 
      - default
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --skip-innodb-read-only-compressed
  app:
    image: *nextcloud-image
    links:
      - db
    environment:
      VIRTUAL_HOST: xxxx
           VIRTUAL_PORT: 80
      LETSENCRYPT_HOST: nxx
      LETSENCRYPT_EMAIL: xxxx
      NEXTCLOUD_ADMIN_USER: axxxx
      NEXTCLOUD_ADMIN_PASSWORD: "xxxx"
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: "xxxx"
      MYSQL_HOST: db
    volumes:
      *nextcloud-volumes
    networks:
      - nginx-proxy
      - default
    restart: always
  cron:
    image: *nextcloud-image
    restart: always
    volumes:
      *nextcloud-volumes
    depends_on:
      - app
    entrypoint: |
      bash -c 'bash -s <<EOF
      trap "break;exit" SIGHUP SIGINT SIGTERM
      while /bin/true; do
        su -s "/bin/bash" -c "/usr/local/bin/php /var/www/html/cron.php" www-data
        echo $$(date) - Running cron finished
        sleep 900
      done
      EOF'
networks:
  nginx-proxy:
    external: true
  default:
volumes:
  nextcloud-root:

And when I inspect the app it only has available the nginx-proxy network.

$ sudo docker inspect nextcloud-app-1 --format='{{(json .NetworkSettings.Networks)}}'
{"nginx-proxy":{"IPAMConfig":null,"Links":["nextcloud-db-1:db","nextcloud-db-1:db-1","nextcloud-db-1:nextcloud-db-1"],"Aliases":["nextcloud-app-1","app","f681e2dc5e57"],"MacAddress":"02:42:ac:16:00:02","NetworkID":"840ed5246cfea87727809cbc612e60e05cc99f325a39bc007129049b4292b760","EndpointID":"9212131ace7e13a6c4defd0dfa86289f8069fca4a4c1f49e456a275c506f2689","Gateway":"172.22.0.1","IPAddress":"172.22.0.2","IPPrefixLen":16,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["nextcloud-app-1","app","f681e2dc5e57"]}}

Notice the Links are there but they do not work in the container. Also the only network is nginx-proxy and not default. I never paid close attention to the networks loading before because it always used to work.

The db container loads the default network.

$ sudo docker inspect nextcloud-db-1 --format='{{(json .NetworkSettings.Networks)}}'
{"nextcloud_default":{"IPAMConfig":null,"Links":null,"Aliases":["nextcloud-db-1","db","100787b85d62"],"MacAddress":"02:42:ac:17:00:02","NetworkID":"16eaf64b2b70d762e5112de36d1675c0770fa7e301299ef04e30de93c16d248c","EndpointID":"394d75a4e510bbb9de88b97688b74406a0cc2671b17cd49ce262988a106d6156","Gateway":"172.23.0.1","IPAddress":"172.23.0.2","IPPrefixLen":16,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["nextcloud-db-1","db","100787b85d62"]}}

mariaa144 avatar Feb 21 '24 16:02 mariaa144

@Millio345 @mariaa144 we bumped the version of compose-go yesterday into the main branch of Compose with a fix about networks order & priority, can you check if the latest binary of Compose potentially fixes your issue?

glours avatar Feb 22 '24 18:02 glours

Thanks @glours. Probably I'll be waiting for a new release on Arch.

mariaa144 avatar Feb 22 '24 18:02 mariaa144

I encountered this bug as well and I can confirm that the linked artifact of version c5a88de works again. I have restarted my service over 20 times and cannot reproduce the issue anymore.

ykahveci avatar Feb 23 '24 17:02 ykahveci

I rebooted today after updating a few packages and the kernel on Arch Linux and the networks started fine, along with Nextcloud. I have no explanation as to what is different. Perhaps it is a race condition issue. 🤷🏽‍♀️

mariaa144 avatar Feb 23 '24 20:02 mariaa144

Perhaps it is a race condition issue. 🤷🏽‍♀️

It has been my experience.

gileri avatar Feb 23 '24 22:02 gileri

Thanks @glours. Probably I'll be waiting for a new release on Arch.

(specific to Arch Linux:) If you'd like to "try the artifact" you can quite simply do it with a PKGBUILD:

# Maintainer: Andrew Crerar <[email protected]>
# Maintainer: Morten Linderud <[email protected]>
# Contributor: Felix Yan <[email protected]>
# Contributor: Iwan Timmer <[email protected]>
# Contributor: Vincent Demeester <[email protected]>
# Contributor: Josh VanderLinden <[email protected]>
# Contributor: Anton Hvornum <[email protected]>

pkgname=docker-compose-git
pkgver=2.24.6
pkgrel=1
pkgdesc="Fast, isolated development environments using Docker"
arch=('x86_64')
url="https://www.docker.com/"
license=("Apache-2.0")
makedepends=('go')
checkdepends=('docker')
commit='c5a88deeba6351c77b40301bdc3af9bafe5920ed' # Fixes network issues in v2.24.6-1
source=("$pkgname-$pkgver::git+https://github.com/docker/compose.git#commit=${commit}")
b2sums=('SKIP')
conflicts=("docker-compose")
provides=("docker-compose-git docker-compose")

build() {
  ls -l
  cd "$pkgname-$pkgver"
  export CGO_CPPFLAGS="${CPPFLAGS}"
  export CGO_CFLAGS="${CFLAGS}"
  export CGO_CXXFLAGS="${CXXFLAGS}"
  export CGO_LDFLAGS="${LDFLAGS}"
  export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -ldflags=-X=github.com/docker/compose/v2/internal.Version=${pkgver} -mod=readonly -modcacherw"
  CGO_ENABLED=0 go build -trimpath -tags "e2e,kube" -o compose ./cmd
}

check(){
  cd "$pkgname-$pkgver"
  rm pkg/compose/ps_test.go
  CGO_ENABLED=0 go test -tags "e2e,kube" -v $(go list -tags "e2e,kube" ./... | grep -vE 'e2e')
}

package() {
  cd "$pkgname-$pkgver"
  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
  install -Dm755 compose "$pkgdir"/usr/lib/docker/cli-plugins/docker-compose
  install -d "$pkgdir/usr/bin"
  ln -sf /usr/lib/docker/cli-plugins/docker-compose "$pkgdir/usr/bin/docker-compose"
}

It's +2 line modification of the official PKGBUILD, that just replaces the source and targets the commit they're mentioning. Run makepkg -si and you can give it a go (note that the package docker-compose is onward named docker-compose-git on your machine, you'll have to reinstall docker-compose when a new release is out to replace docker-compose-git. Otherwise you'll stay on v2.46.6+patch - This is just to avoid package conflicts when you do updates).

As for:

I rebooted today after updating a few packages and the kernel on Arch Linux and the networks started fine

Yes, restarting fixes the race condition temporarily. But I tend to hit this after a full days worth of restarting services. It feels like it's the same amount of restarts as there are available IP addresses in the configured space until the issue triggers heh.

But regarding https://github.com/docker/compose/commit/c5a88deeba6351c77b40301bdc3af9bafe5920ed - with it I don't appear to hit the issue either.

Torxed avatar Feb 24 '24 16:02 Torxed

Had same issue on our project had to downgrade to 2.24.5 to solve my issues.

nulian avatar Feb 29 '24 08:02 nulian

@nulian can you test this version, we want to be sure the issue will be resolved in the next Compose release

glours avatar Feb 29 '24 08:02 glours

Same issue here with 2.24.6. This is exactly the same like happened few months before (one network failed to attach randomly if multiple network defined). This was an issue once in 2.20.x, but it was fixed and closed! Downgraded to 2.24.5 and its ok again. https://forums.docker.com/t/docker-compose-refuses-to-attach-multiple-networks/136776/7

vadonka avatar Feb 29 '24 12:02 vadonka

I'm experiencing the same problem when I upgraded from 2.24.1 to 2.24.6. I have tried the binary with compose-go v2.0.0-rc8 and the problem disappears. Thus, #11536 is effective in resolving this bug.

My Docker installation was using https://get.docker.com script, with Docker version 25.0.3. To install the binary, I simply overwrote /usr/libexec/docker/cli-plugins/docker-compose with the binary.

yoursunny avatar Feb 29 '24 14:02 yoursunny

version: '3'
  nginx:
    image: nginx:stable
    restart: unless-stopped
    networks:
      - fileshare-intranet
      - proxynet

networks:
  fileshare-intranet:
  proxynet:
    external: true

ii docker-compose-plugin 2.24.6-1~debian.12~bookworm amd64 Docker Compose (V2) plugin for the Docker CLI.

# for i in `seq 1 20` ; do docker compose down &>/dev/null ; docker compose up -d &>/dev/null ; docker inspect fileshare-nginx-1 --format='{{(json .NetworkSettings.Networks)}}' ; done
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","316b49ffeea5"],"MacAddress":"02:42:ac:11:45:03","NetworkID":"d534f19a7584f44b18143023516a5600b6f2aea209a1a8a6963499ddef71c04b","EndpointID":"d3a5f08bfb6afdf3fc67c78c4c79206b36bd06b312d540a30b150cf5909b0a21","Gateway":"172.17.69.1","IPAddress":"172.17.69.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","316b49ffeea5"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","ddb5a0901b6a"],"MacAddress":"02:42:ac:11:46:03","NetworkID":"2a939d59747878c1eb1457017c552078d3968e0a7ae8355feea48456f02c47f5","EndpointID":"7b3a457b621aaed5a9718f9eb0b6554bb3b87cfbfe26037c31003c11b212a34d","Gateway":"172.17.70.1","IPAddress":"172.17.70.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","ddb5a0901b6a"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","ddb5a0901b6a"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"b8f82fae115d6018cae95ae41c2d0a92ea363d7b4d8519b7c986a4fd4b48efb2","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","ddb5a0901b6a"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","bab602119d54"],"MacAddress":"02:42:ac:11:47:03","NetworkID":"f6cb0f711e92a6eb8bf1f4e4e011fe3d896408a949905c2427a283578d6baba4","EndpointID":"76ee80ba8cfb52ec4390d2c3901b4f47ad750dea0ddcee82658c0cd0d7fd7111","Gateway":"172.17.71.1","IPAddress":"172.17.71.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","bab602119d54"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","bab602119d54"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"8fab6189b159b7ac303615b6c20efea7046144b531d1418e3f21d0e95376bc77","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","bab602119d54"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","9ec1bc179fc9"],"MacAddress":"02:42:ac:11:48:03","NetworkID":"3f42ab517a6bf5aff9de0ced8ef95bee07564ee78e1355046491f97c0596afd7","EndpointID":"26c49bf4855f4be880090a40b94cb21b7de707d2eabd048e1ca3e579b48ea11f","Gateway":"172.17.72.1","IPAddress":"172.17.72.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","9ec1bc179fc9"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","421cd313206d"],"MacAddress":"02:42:ac:11:49:03","NetworkID":"25e9695c2dc680ba272c3fff34c291b3f21feffa33e7066065b3f08cb7c8f1ec","EndpointID":"208d25f924d998e3b84ee1af1cd6541c6da77faa57a52f3f64fdba646a1e7517","Gateway":"172.17.73.1","IPAddress":"172.17.73.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","421cd313206d"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","421cd313206d"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"bc220c7df8821daa4309f87c6b303c4b05ef71e2d3b2ef5f042cfcf0797bb117","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","421cd313206d"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","f9baf71acb89"],"MacAddress":"02:42:ac:11:4a:03","NetworkID":"107a3d2eabdd5e885bf174c0c12269c62a4250cc2301f9a4f4a8426e0195730e","EndpointID":"4d46352e2f213c42a456e57b817bebaef96ac5c1be2a09398ae67a7a242b8b42","Gateway":"172.17.74.1","IPAddress":"172.17.74.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","f9baf71acb89"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","f9baf71acb89"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"32bd3bc51465919276bd6e185ea762053f9de70db24a6c315bc96183205bedf9","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","f9baf71acb89"]}}
{"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","f613e1d3f704"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"7657d3744e8e5a84e4d34dac17c48b2cdaba8c30a16e7004812d515a4ae9677a","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","f613e1d3f704"]}}
{"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","cf7ee16802c2"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"2ddbc2944fe444096da564e977b56a54321636a6b097350515489a283a25b0fb","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","cf7ee16802c2"]}}
{"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","0c46324893cf"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"c3ed099cc71e56906368a85c4e8254a119faca01c6fd1186e47550dc36fd98a6","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","0c46324893cf"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","24be0ccb396a"],"MacAddress":"02:42:ac:11:4e:03","NetworkID":"dfa6459f33190e9d8946c8c2ee00429c6ec7822f14a6ef1fece85d0c33efcb38","EndpointID":"e391c82cdf69fdaeb301db85dd60fd9be6560bb359784bc6637d17293e0fd3ab","Gateway":"172.17.78.1","IPAddress":"172.17.78.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","24be0ccb396a"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","24be0ccb396a"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"ffb1d1f15751753fca95d2d75a2e4f2752ac38fdc5225f0cf948a3c2ae26c2d0","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","24be0ccb396a"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","e37c6b6dd728"],"MacAddress":"02:42:ac:11:4f:03","NetworkID":"675f41de5f2ed1341eccd5c4ff6167363de5f1f1b6559b98788d94b304afce43","EndpointID":"e42d35863781c8a4e27bd34394647bc1d08c3e7cf63600101f913c61580e2088","Gateway":"172.17.79.1","IPAddress":"172.17.79.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","e37c6b6dd728"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","e37c6b6dd728"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"1db739c6cf730e17d4b164055cbf61ab9b6aaecfab2e0e53469a7c6e6bc38262","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","e37c6b6dd728"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","302426a3bd2d"],"MacAddress":"02:42:ac:11:50:03","NetworkID":"4c6a67f2586e0297edcf46f104618795d48a01cf1f4cfd5b8a1174d83b928224","EndpointID":"30668ac6dd98aab151ff25e3b0ee46e264c4f7a89c4b43f33883156e4b4de729","Gateway":"172.17.80.1","IPAddress":"172.17.80.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","302426a3bd2d"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","302426a3bd2d"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"4db3a0f91828b1ec603b80359801d870c8eabfdf9a05941b62f8c0fc94f274d7","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","302426a3bd2d"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","23040aef113b"],"MacAddress":"02:42:ac:11:51:03","NetworkID":"ed1dc2f71a77af820765fb5e059331bc7c13d756ba87ffa1ee7cf385ccd52967","EndpointID":"dd6e1b0e15624131d693421328580a8648c3c83f1bb3ac70114ad122106ccee1","Gateway":"172.17.81.1","IPAddress":"172.17.81.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","23040aef113b"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","23040aef113b"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"642918a594905ef9cbae73d0d005c61763b50c1b2f60208887a483afea85f407","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","23040aef113b"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","b814bf949fcb"],"MacAddress":"02:42:ac:11:52:03","NetworkID":"9edb6d45a88c682388c675e2b85206ef22abf6711c7f54640cec4bfaebf4fa9f","EndpointID":"330679c884313434a5a03ccfac0f869eb0e271f4dca0ed6d266284611f72cc00","Gateway":"172.17.82.1","IPAddress":"172.17.82.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","b814bf949fcb"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","b814bf949fcb"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"7e5bb4d57b49972884cc69aa1660f05821275c3bf9192d95ca6af611ee2de5da","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","b814bf949fcb"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","fd691e587b51"],"MacAddress":"02:42:ac:11:53:03","NetworkID":"43faea213c6dfa8aba99742014b4a65974357544af6c3c603cb03802b323be67","EndpointID":"6eed08f60819dee78bf5773d58842d97503a7c3dd0602d29487ff089c1d436d3","Gateway":"172.17.83.1","IPAddress":"172.17.83.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","fd691e587b51"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","fd691e587b51"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"8bdef89ba3c886dcd17d6c27202533d70e80bb2fc93e623c74b0dfd6e2997ae4","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","fd691e587b51"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c9ab856958eb"],"MacAddress":"02:42:ac:11:54:03","NetworkID":"ceba58b78699da76ec5a37cfacb34640dee5d7bf33d369f6bd8aa735bd137ae8","EndpointID":"95e18b5e9bd9736c220b93455cbe3bd913378c013577fb00b56835d02ed7c99a","Gateway":"172.17.84.1","IPAddress":"172.17.84.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c9ab856958eb"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c9ab856958eb"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"d90865f439f6e19764defdf8002205e8be326e6caff048c963c2df5a36586294","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c9ab856958eb"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","357508ff4d70"],"MacAddress":"02:42:ac:11:55:03","NetworkID":"f6c936ec43801592ac66950401ca4bcb5361d74cbf387f674c39724fd592c8cb","EndpointID":"98f1f0e0fe939ffd5cd9ab432d709c714c454b88e44e87c5beee0f1b958f11d9","Gateway":"172.17.85.1","IPAddress":"172.17.85.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","357508ff4d70"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","357508ff4d70"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"7e14d22d7707db32d81b2c9ddeb34292f59c42a92f80411611a7e0a1db82eeb2","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","357508ff4d70"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","62da2b972e50"],"MacAddress":"02:42:ac:11:56:03","NetworkID":"5c69abc6651d69f403b484940416999941f5dd91f151e883ace57f22776d30c1","EndpointID":"763d1e9f3838a6383c4eb9684b6958fb242e414068f9a15c75e02eaf0d8ca265","Gateway":"172.17.86.1","IPAddress":"172.17.86.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","62da2b972e50"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","62da2b972e50"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"cb4a36f2fe86b7c19184121a7e3044a18f1f1f28992239d0208d21246e18cf07","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","62da2b972e50"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","9cd970361821"],"MacAddress":"02:42:ac:11:57:03","NetworkID":"16651ed39b805b64ea4be7d6bafe8fc3b012974d3e40380632b63e45d05bfb8e","EndpointID":"821bee700f1e465c59d7a244cc4aab088c734253fbdb7809a26eedccac9af024","Gateway":"172.17.87.1","IPAddress":"172.17.87.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","9cd970361821"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","9cd970361821"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"d73af514a0ab6da095192661cf583f492df844fda5b0b39da6628fe0af949b52","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","9cd970361821"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","18bb0426a213"],"MacAddress":"02:42:ac:11:58:03","NetworkID":"e76923bb56947acd80c81d87503c72f78938558d850a9c224cc0ae0d9407a0f5","EndpointID":"d359e176140e95f887dcbc309d2e7edbffdf72272a76c8159a071ef77e91ad98","Gateway":"172.17.88.1","IPAddress":"172.17.88.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","18bb0426a213"]}}

ii docker-compose-plugin 2.24.5-1~debian.12~bookworm amd64 Docker Compose (V2) plugin for the Docker CLI.

# for i in `seq 1 20` ; do docker compose down &>/dev/null ; docker compose up -d &>/dev/null ; docker inspect fileshare-nginx-1 --format='{{(json .NetworkSettings.Networks)}}' ; done
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}
{"fileshare_fileshare-intranet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:5a:03","NetworkID":"c2f0d7e3ff20ca47c131fae5365c4b6d8227e1b190e5df5b57b7640b90709399","EndpointID":"6bc57bde380fd981913bbd2c595026dea5b4970fa8f12c8b14ab25c727e2f2ee","Gateway":"172.17.90.1","IPAddress":"172.17.90.3","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]},"proxynet":{"IPAMConfig":null,"Links":null,"Aliases":["fileshare-nginx-1","nginx","c3cc5d9e0625"],"MacAddress":"02:42:ac:11:01:05","NetworkID":"b1aefb12ba98f2314c8533fe1520c411ede382e9049f605018b72f6f8a63a08e","EndpointID":"3a0918fce62318606bce4e75cb6fec697ab2ab4580e8c00b2d47a9339801dc27","Gateway":"172.17.1.1","IPAddress":"172.17.1.5","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"DriverOpts":null,"DNSNames":["fileshare-nginx-1","nginx","c3cc5d9e0625"]}}

KKKozlowski avatar Feb 29 '24 17:02 KKKozlowski

I also came across this same issue with an update to compose 2.24.6. I wonder if this is a bug that has been re-introduced in this version, as there was something similar in a previous version.

https://github.com/docker/compose/issues/10777

opsec-infosec avatar Mar 02 '24 10:03 opsec-infosec

Same issue here with 2.24.6. This is exactly the same like happened few months before (one network failed to attach randomly if multiple network defined). This was an issue once in 2.20.x, but it was fixed and closed! Downgraded to 2.24.5 and its ok again. https://forums.docker.com/t/docker-compose-refuses-to-attach-multiple-networks/136776/7

I think it was version 2.19.1 that had the dns issue

opsec-infosec avatar Mar 02 '24 10:03 opsec-infosec

I also see the same issue when docker compose is upgraded from v2.24.5 to v2.24.6. I need to revert back to v2.24.5.

rosstang avatar Mar 04 '24 04:03 rosstang

Same for me also, seems similar to #10805 . Reverted to v2.24.5 and all good

Ubuntu 22.04.4 LTS 5.15.0-92-generic

Peppercorn27 avatar Mar 04 '24 10:03 Peppercorn27

The problem first appeared a few days ago when I updated the compose plugin on my Debian machines. Docker Engine was not updated on that day (excerpt from /var/log/apt/history.log):

Start-Date: 2024-02-29  18:03:22
Commandline: apt upgrade
Requested-By: exlll (1000)
Upgrade: docker-compose-plugin:amd64 (2.24.5-1~debian.12~bookworm, 2.24.6-1~debian.12~bookworm)
End-Date: 2024-02-29  18:03:27

Since then, I'm also getting the errors described here in #11563.

Exlll avatar Mar 04 '24 10:03 Exlll

I also had the same issue. Downgrading to 2.24.5 fixed the issue.

marco-calautti avatar Mar 04 '24 15:03 marco-calautti

btw, I find strange that stable versions of compose are released that depend on release candidates of other software. This could be particularly dangerous in some cases. Is there a particular reason why it is done like this?

marco-calautti avatar Mar 04 '24 15:03 marco-calautti

@marco-calautti they did mention to me here https://github.com/docker/compose/issues/11544#issuecomment-1967492988 that they consider it prod-ready despite the RC tags, but I agree that these bugs and subtle breaking changes indicate the opposite.

davidlougheed avatar Mar 04 '24 18:03 davidlougheed

@marco-calautti they did mention to me here #11544 (comment) that they consider it prod-ready despite the RC tags, but I agree that these bugs and subtle breaking changes indicate the opposite.

Are the issues due to the RC of the other software - or a internal bug of compose?

Torxed avatar Mar 05 '24 08:03 Torxed

Updating compose-go from rc7 to rc8 fixed the issue. So it looks like it's the RC's fault.

marco-calautti avatar Mar 05 '24 22:03 marco-calautti

@Millio345 @mariaa144 we bumped the version of compose-go yesterday into the main branch of Compose with a fix about networks order & priority, can you check if the latest binary of Compose potentially fixes your issue?

@glours this fixed the issue for me. Every other restart of my containers had this issue. Now I have restarted four times (compose up/down) and all containers have every time been connected to all the networks they are supposed to be connected with.

I was on Docker Compose v2.24.6 and Docker Engine - Community v25.0.3

Instructions for installing the fix on Ubuntu as an example, in case someone needs them: https://stackoverflow.com/questions/76719570/docker-compose-up-randomly-not-adding-containers-to-networks/78115640#78115640

EmilCarpenter avatar Mar 06 '24 15:03 EmilCarpenter

We just released Compose v2.24.7 which should resolve this. Thanks for your patience and the detailed reports!


A bit of clarity on compose-go versioning that might be helpful: both projects (https://github.com/compose-spec/compose-go & https://github.com/docker/compose) are maintained by the same group of Docker Inc employees (with community contributions of course ❤️).

These projects/repositories are split to enable other tools to use the compose-go library without needing to depend on the full Compose app (this repo), which has a substantially larger dependency tree.

API compatibility within Go modules is a challenging topic with very specific SemVer expectations from the Go tooling[^1]. Recently, we made some more substantial changes to the API: adding context.Context, removing deprecated methods, correcting mistakes in types, etc.

These types of breaking changes are easy for us to coordinate & handle as the maintainers of both packages, but we couldn't practically version it as v1.x without breaking other Go apps that import compose-go, so we made the decision to increment the package to v2.

So, what you're seeing with the "pre-release" tags on compose-go is an artifact of that. Once we tag a "stable" v2 release, that prevents us from practically making further changes to the library's public API without another major release.


tl;dr The RC status is an indication that the compose-go library/Go API might still change, which is important for managing Go dependency management.

That said: regardless of version numbers, the stability & quality of Docker Compose is paramount, and we clearly had a miss here. We hugely appreciate the constructive & civil discussion on this issue; we've already covered some gaps in test coverage from these reports and identified additional areas, such as multi-network, where we need to improve E2E testing.

[^1]: I want to recognize that we have also not always adhered to this! The real world is messy and sometimes we make imperfect decisions to simplify maintenance.

milas avatar Mar 06 '24 15:03 milas

Can we downgrade the Debian version (with apt pinning) to get docker compose plugin to work, until the newer version exists? If yes, which version is guaranteed to work?

Edit: I see in the main post it says "Reverting to 2.24.5 fixes this problem". I'll give that a shot.

TheQuantumPhysicist avatar Mar 07 '24 08:03 TheQuantumPhysicist

Can we downgrade the Debian version (with apt pinning) to get docker compose plugin to work, until the newer version exists? If yes, which version is guaranteed to work?

Edit: I see in the main post it says "Reverting to 2.24.5 fixes this problem". I'll give that a shot.

Hello! 2.24.5 working fine.

vadonka avatar Mar 07 '24 11:03 vadonka

Can we downgrade the Debian version (with apt pinning) to get docker compose plugin to work, until the newer version exists? If yes, which version is guaranteed to work?

Edit: I see in the main post it says "Reverting to 2.24.5 fixes this problem". I'll give that a shot.

Since today, the new v2.24.7 is in apt, at least for Ubuntu 20.04. The new version is working, I tested compose up/down five times, with 100% success rate.

EmilCarpenter avatar Mar 07 '24 18:03 EmilCarpenter

Hello, can I ask about the status of rolling out v2.24.7 in official MacOS packages?

rmlearney-digicatapult avatar Mar 18 '24 17:03 rmlearney-digicatapult