Docker撰写 – 为networking名称添加标识符
我试图在docker-compose.vs.debug.yml文件中创buildnetworking:
networks: myNetwork: driver: bridge
但docker添加一些标识符:
dockernetworkingLS – >
NETWORK ID NAME DRIVER SCOPE 0e1fec1a9a30 dockercompose1163770330_myNetwork bridge local
如果有任何选项可以这样命名:
NETWORK ID NAME DRIVER SCOPE 0e1fec1a9a30 myNetwork bridge local
我需要它在不同的项目上自动连接两个容器。
如果您有docker-compose创buildnetworking,它将确定名称本身。 通常,它会查看docker-compose.yml所在目录的名称,并将其用作前缀。 根据您所显示的名称,看起来该docker-compose.yml文件位于名为dockercompose1163770330
的目录中。 它将它与您指定的myNetwork
名称相结合,并创build一个名为dockercompose1163770330_myNetwork
的networking。
如果你想控制networking的确切名称,你有两个select。
- 使用在docker-compose之外创build的networking(“外部”networking)。
networks: default: external: name: myNetwork
这意味着其他东西已经创build了networking。 如果你还没有这样的networking,创build它很容易。
docker network create myNetwork
- (如果可能)确定visual-studio如何命名它的path,并将该path更改为static。 不pipe这是可能的,还是如何,我都不知道。 但是,如果您可以控制
dockercompose1163770330
并使其更喜欢不同,那么您可以预测从中创build的networking名称。
我假设你使用VS2017 dcproj。 我通过在dcproj项目中手动创buildnetworking作为PreBuildEvent来解决这个问题。 将预生成目标添加到.dcproj文件中:
<Target Name="PreBuild" BeforeTargets="PreBuildEvent"> <Exec Command="echo Creating external docker network" /> <Exec Command="docker network create customnetwork" IgnoreExitCode="true" /> </Target>
然后在您的docker-compose文件中,您可以指定一个外部networking:
networks: default: external: name: customnetwork
要求您在其他项目之前启动dcproj,或将相同的prebuild exec添加到应共享networking的所有项目。
- 如何使用Docker和dotnet watch来设置ASP.NET核心2.0
- 如何代理Docker容器中运行的一个dotnet核心应用程序的每个请求
- 在NuGet中debugging.NET Core项目和.NET库
- Docker组合生成错误 – 项目文件不存在
- Visual Studio无法创build泊坞窗图像
- Linux上的.NET Core如何确定SQL Server实例侦听的端口?
- 在Windows的Windows子系统中运行Docker中的.Net Core
- 使用Docker中的dotnet为Visual Studio C#扩展(OmniSharp)
- 是否有可能从Docker容器中运行我的开发asp.net核心服务器