【问题标题】:How to clear docker-compose image name in VS2017如何在 VS2017 中清除 docker-compose 镜像名称
【发布时间】:2019-06-30 22:57:12
【问题描述】:

Visual Studio 更新后,当 docker-compose 设置为启动项目时,我无法在调试模式下启动项目。 它失败了

到目前为止尝试过:

  1. 清理 docker-compose 项目
  2. 删除 .vs、bin 和 obj 文件夹
  3. 删除并重新添加 docker-compose 项目
  4. 删除整个项目文件夹并从 github 取回
  5. 删除User文件夹下的vs debug文件夹
  6. 完成docker system prune -a,从而删除所有运行或未运行的图像

除了重新安装整个 VS2017 之外,我完全没有想法,但这似乎有点矫枉过正。

有谁知道这个图像名称被缓存在哪里以及如何刷新/删除它,这样它就不会试图找到该图像再次运行

这里是 docker 控制台中的启动输出:

========== Debugging ==========
docker-compose  -f "C:\dev\src\ps-projectname-service\docker-compose.yml" -f "C:\dev\src\ps-projectname-service\docker-compose.override.yml" -f "C:\dev\src\ps-projectname-service\obj\Docker\docker-compose.vs.debug.g.yml" -p dockercompose5497340922178811047 --no-ansi config
services:
  integration-db:
    container_name: projectname-integration-db
    environment:
      POSTGRES_DB: dm
      POSTGRES_PASSWORD: pguser
      POSTGRES_USER: pguser
    image: postgres
    ports:
    - published: 5432
      target: 5432
    volumes:
    - /tmp/customer/data/postgres:/var/lib/postgresql/data:rw
  customer.projectname.api.webhost:
    build:
      context: C:\dev\src\ps-projectname-service
      dockerfile: Customer.projectname.Api.WebHost/Dockerfile
      target: base
    entrypoint: tail -f /dev/null
    environment:
      ASPNETCORE_ENVIRONMENT: Development
      DB_CONNECTION_STRING: Host=integration-db;Port=5432;Username=pguser;Password=pguser;Database=dm;MaxPoolSize=150;
      DOTNET_USE_POLLING_FILE_WATCHER: '1'
      NUGET_FALLBACK_PACKAGES: /root/.nuget/fallbackpackages
    image: customer.projectname.api.webhost:dev
    labels:
      com.microsoft.visualstudio.debuggee.arguments: ' --additionalProbingPath /root/.nuget/packages
        --additionalProbingPath /root/.nuget/fallbackpackages  bin/Debug/netcoreapp2.1/Customer.projectname.Api.WebHost.dll'
      com.microsoft.visualstudio.debuggee.killprogram: /bin/bash -c "if PID=$$(pidof
        -x dotnet); then kill $$PID; fi"
      com.microsoft.visualstudio.debuggee.program: dotnet
      com.microsoft.visualstudio.debuggee.workingdirectory: /app
    ports:
    - target: 80
    volumes:
    - C:\dev\src\ps-projectname-service\Customer.projectname.Api.WebHost:/app:rw
    - C:\Users\ZaakSlezak\vsdbg\vs2017u5:/remote_debugger:ro
    - C:\Program Files\dotnet\sdk\NuGetFallbackFolder:/root/.nuget/fallbackpackages:ro
    - C:\Users\ZaakSlezak\.nuget\packages:/root/.nuget/packages:ro
  test:
    build:
      context: C:\dev\src\ps-projectname-service
      dockerfile: ./dockerfile-test
    command: ./devops/scripts/test.sh
    volumes:
    - C:\dev\src\ps-projectname-service:/app:rw
version: '3.4'
docker ps --filter "status=running" --filter "name=dockercompose5497340922178811047_customer.projectname.api.webhost_" --format {{.ID}} -n 1

【问题讨论】:

  • docker ps ... 命令的结果是什么?
  • @RomanMarusyk λ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 我也做了docker system prune -a
  • 你试过docker-compose kill吗?
  • @RomanMarusyk 是的,我做到了,肯定没有任何东西在任何地方运行,问题似乎是我无法找到存储在任何地方并删除它的缓存图像名称
  • 好的,您是否尝试删除图像?

标签: docker asp.net-core visual-studio-2017 docker-compose


【解决方案1】:

结果我陷入了这个循环,因为我的 docker-compose 中用于运行单元测试的服务之一没有与之关联的图像。 从 docker-compose 中删除它或添加图像:修复了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 1970-01-01
    • 2016-10-18
    相关资源
    最近更新 更多