I trying to create network in docker-compose.vs.debug.yml file:
networks:
myNetwork:
driver: bridge
But docker adding some identifier:
Per https://docs.docker.com/compose/networking/:
Networks can also be given a custom name (since version 3.5):
version: "3.5" networks: frontend: name: custom_frontend driver: custom-driver-1
So you could choose to simply name your network myNetwork
like this:
networks:
myNetwork:
name: myNetwork
driver: bridge
Alternatively, if you want your container to join an existing network (I know you say you want docker-compose
to create the network for you, but for people reading this question this might be helpful), https://docs.docker.com/compose/networking/ states:
If you want your containers to join a pre-existing network, use the
external
option:networks: default: external: name: my-pre-existing-network
I assume you use a VS2017 dcproj. I solved this by creating the network manually in the dcproj project as a PreBuildEvent. Add a prebuild target to the .dcproj file:
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command="echo Creating external docker network" />
<Exec Command="docker network create customnetwork" IgnoreExitCode="true" />
</Target>
Then in your docker-compose files you can specify an external network:
networks:
default:
external:
name: customnetwork
Requires you to start the dcproj before other projects or add the same prebuild exec to all the projects that should share the network.
If you have docker-compose create the network, it will determine the name itself. Normally, it looks at the name of the directory where docker-compose.yml is located, and uses that as a prefix. Based on the name you have shown, it appears that this docker-compose.yml file is in a directory named dockercompose1163770330
. It combines this with the myNetwork
name you specified, and creates a network named dockercompose1163770330_myNetwork
.
If you want to control the exact name of the network, you have two options.
networks:
default:
external:
name: myNetwork
This implies something else has created the network already. If you don't have such a network already, creating it is easy.
docker network create myNetwork
dockercompose1163770330
and make it something different that you prefer, then you can predict the network name created from it.