Visual Studio 找不到Docker容器

guz6ccqo  于 2022-11-30  发布在  Docker
关注(0)|答案(8)|浏览(501)

我有asp核心api项目,我正在使用visual studio 2017运行我的项目。在我重命名之前使用visual studio在命令行上使用此命令创建的docker容器后,

docker rename CONTAINER NEW_NAME

当我尝试在visual studio中再次运行该项目时收到以下消息。
谢谢你的帮助

Can not find docker container with the name starting with 'previous_container_name'.
aoyhnmkz

aoyhnmkz1#

删除解决方案目录中的.vs文件夹(首先关闭解决方案),Docker映像名称似乎缓存在其中的某个位置。

lnlaulya

lnlaulya2#

当团队中有人取消选中Docker-compose项目的生成复选框时,我就开始发生此错误。请确保在“生成”-〉“配置管理器”中启用了该复选框

mwngjboj

mwngjboj3#

我有一个类似的问题,这是因为我在打开项目后启动了Docker。VS在打开项目时使用Docker做了一些事情,如果Docker没有启动,将会失败。
经验教训:在启动Visual Studio之前,请确保Docker正在运行。如果Docker未启动,请启动Docker,关闭解决方案,然后重新打开它。
VS将在打开项目时重新创建容器。

wko9yo5t

wko9yo5t4#

这发生在我身上,因为我通过命令行手动停止了一个容器,然后Visual Studio就糊涂了。
为了解决这个问题,我只是在docker-compose.yml中添加了一个' '空格字符,并保存了文件。这迫使Visual Studio重新启动容器并连接到它。
我确信启动/停止Visual Studio也会起作用,但是空格的改变很好,也很快。

um6iljoc

um6iljoc5#

我也有类似的问题。这些步骤总是帮助我解决问题。解决方案1:

1- Close VS 
    2- delete obj folder of root solution folder.
    3- delete obj folder of all projects which are involved in docker-compose file.(example all APIs)
    4- Open VS 
    5- Remove the docker-compose project from solution and add it again.
     During the creation process, don't overwrite the old files with new ones, to prevent deletion of you current docker-compose.yml configuration.

方案二:

On the first time of container creation, copy the creation command: 
    example: docker-compose  -f "[path]\docker-compose.yml" -f "[path]\docker-compose.override.yml" -f "[path]\docker-compose.vs.debug.g.yml" -p dockercompose17926074389345686639 --no-ansi up -d --no-build --force-recreate --remove-orphans

   any time there is an error just run this command manually.

如果有人能找到一个恒定解,也请告诉我们。

xtupzzrd

xtupzzrd6#

还有一个原因是使用解决方案文件夹为您的docker项目和Visual Studio 2017版本低于15.9,升级到15.9+修复了这个问题,请参阅this issue

o3imoua4

o3imoua47#

在我的情况下,我已经尝试了所有这些,但解决方案是非常简单的V.S. 2019
之前所有的Visual Studio 2017有一个错误修复包,即使你使用19测试版,为此在https://visualstudio.microsoft.com/vs/下载并安装该口袋。
对于自动合成,还应添加Docker合成支持点击此链接https://learn.microsoft.com/tr-tr/dotnet/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/visual-studio-tools-for-docker
1-)右键单击解决方案资源管理器上包含Dockerfile的目标项目根文件夹,然后选择添加-〉Docker支持,它将询问您其始终包含是否要创建新文件夹?单击是。它将创建新的Dockerfile
您将在新的Dockerfile中看到一些更改,如项目更改或nuget包更改影响
2-)右键单击新替换的Dockerfile并构建映像,即可成功构建
3-)选择调试器作为Docker,而不是IIS Express,甚至在开发项目时,如果不需要,也不要使用其他调试器

xytpbqjk

xytpbqjk8#

在我的例子中,我在我的docker-compose. yml中有“image”部分和“build”部分。我只是删除了build部分,因为我希望它从docker注册表中提取一个图像,现在它可以工作了。

相关问题