-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] incorrect label com.docker.compose.network #10797
Comments
My error: This problem is present on My docker-compose file's networks looks like this: networks:
default:
name: "net1"
net1:
name: "net1"
ipam:
config:
- subnet: "172.21.0.0/16"
internalnet:
name: "internalnet"
driver: "bridge"
internal: true
vpn:
name: "vpn"
driver: "bridge"
ipam:
config:
- subnet: "172.10.0.0/16"
These networks are then used by the services based on connectivity requirements. I used networks:
default:
name: "net1" To set the default network |
@hugoamvieira you should not have networks:
default:
name: "net1"
ipam:
config:
- subnet: "172.21.0.0/16" |
@daniejstriata please attach your compose.yaml file for diagnostic |
@ndeloof Here it is:
|
Hey @ndeloof, thanks for the tip! I did try this, but I ran into another problem where I couldn't reference As far as my understanding goes, if I define a So, if I want a container to be on a network in addition to the default one, I have to specify the default one. This is what I tried: container:
image: "bla"
...
networks:
- "net1"
- "other-net" But this leads to the error above. Perhaps the correct way here is to refer to the default network not by its name but by its object key container:
image: "bla"
...
networks:
- "default"
- "other-net" This seemed to work, and inspecting the network at runtime does show the containers are associated with |
I'll throw my error out there too, started after an update to 2.19.1.
Nothing has changed in our compose file. |
yes indeed, the |
Same issue. Downgrading to 2.18.1 solved it. If you are going to do the downgrade as a workaround, don't expect (like me 😅) that downgrading docker will downgrade the compose plugin, at least in Ubuntu using the docker-ce distribution you have to downgrade the compose plugin like this:
|
I had the same "incorrect label" issue and after a |
Run the following command to downgrade your docker-compose cli plugin on Ubuntu 22.04 (and above probably)
|
@quiin That was the first thing I tried with no luck. Our build structure is a bit more complex, we run multiple YML files together. If I only run one service at a time, it works fine on 2.20, but when I run multiple services at once, it fails. Each YML has the same networks entry...with the comment above about "don't use 2 entries to define a single network", I wonder if that would break with having the same network in more than one YML file. |
network name is not unique, so running compose concurrently with the same config is at risk when it comes to network as network might be created multiple times and then confuses the other runs. A possible workaround is to first run a dump compose file which just creates required network and run some "hello world" container, then you should be able to run compose concurrently with same network configuration, as all execution will see an existing network matching the expected config. |
How can I downgrade docker compose on MacOs? |
@AnjaLiebermann How did you install it? I had to manually remove all docker components that were installed using brew and install an older version of Docker Desktop from https://docs.docker.com/desktop/release-notes/ |
I'm having the same issue with an app that offers the possibility to be deployed with either nginx or caddy web servers. Anyone on the affected versions of docker can reproduce the issue with I wonder if we should wait for a fix or try another strategy to combine multiple YAML files. edit: just to make it clear, by another strategy I'm referring to the second method described in the docs, so far no one reported having this issue with the |
TL;DR:
I ran into this as well. It looks like the change causing this was actually #10612, also by @ndeloof - the one mentioned in the OP is regarding a warning that's similar but different, but this change is what adds the error itself. The error I was seeing is the same as @rtaft's comment. I don't have any labels set, so if hopefully-relevant excerpt from compose file:
If I Then, I tried with I did I looked at what I believe to be the networking documentation (1/2/3/4) but I can't find where it says that at least one Is this now necessary, or could the code handle for this case without having to set a I also think I am correctly setting the networks as I tried to be thorough in looking into this, since I wasn't very familiar with this topic -- apologies if I got anything wrong and thanks in advance for any help! |
Just going to throw out there that I'm also running into this same error on 2.19.1 with a host machine running macOS Ventura (13.4.1), so the issue seems to not be strictly limited to particular linux distros (like Ubuntu, as previously reported). I will try downgrading (somehow) to 2.18.1 in the meantime and see if that resolves this issue. |
@AnjaLiebermann If you still need it, the accepted answer here outlines the process of how I downgraded on macOS: https://stackoverflow.com/questions/62217678/can-i-roll-back-to-a-previous-version-of-docker-desktop I downloaded and installed version |
@tflavin |
Use "external: true" in the network section also fix the network issues in my server. See: docker/compose#10797 (comment)
Before downgrading Docker, you may try this solution. It works for me. At my docker-compose YAML files, I'm using:
I create the network manually, with
|
I may confirm, that the problem does not occur on older version of docker-compose. I did try on Mac the docker desktop 4.19 with docker-compose 2.17 |
@Scherebart earlier version didn't checked network labels and as a result may select a network "by name" that is not the expected one (name unicity is not enforced by docker engine) resulting in weird bugs |
I had this same issue after updating to the latest docker/compose versions on Ubuntu 22.04. I ended up pruning all networks with all my services down and after bringing them up again, voila! Networks were created successfully and services started without issues |
@sd-evo |
For those in need for a solution on this one, here are my findings: First, I had to do a
Here you can see that the docker compose version was 1.29.2 and not at all 2.20.2 as it should have been. The reason was that somehow, there was still an old "docker-compose" script in /usr/bin that has been used to recreate the stack. So here are the steps required to repair the stack:
Hope it helps |
Got the same error, for me it was the following:
after docker upgrade I got the same error, I was able to fix it by adding an explicit name:
|
should be much easier to debug with #12213 , it will tell you what label it expected |
Can confirm, it was easy to debug with #12213 compiled in :D Basically got the message
, take note of the expected string, docker network ls --format json | jq to check that it didn't have more than one label, it didn't in my case: {
"CreatedAt": "2024-10-15 23:04:35.992871605 +0200 CEST",
"Driver": "bridge",
"ID": "d923de39c837",
"IPv6": "false",
"Internal": "false",
"Labels": "com.docker.compose.network=network",
"Name": "easyad_web-network",
"Scope": "local"
} then to fix it:
(but if your network have multiple labels, add a --label for each of them in the and it worked! 🎉 |
Description
I see that a change for better diagnostic message on network label mismatch by @ndeloof in #10639 is possibly creating the following errors when I'm updating zabbix or gitlab using version 2.19.1.
I am able to update when using docker-compose version 2.18.1
I'm not sure how to fix this. Could the error be a bit more descriptive? Can I delete the com.docker.compose.network label or must it be another value?
Steps To Reproduce
Compose Version
Docker Environment
Anything else?
No response
The text was updated successfully, but these errors were encountered: