Docker Compose up 命令经常超时

标签 docker docker-compose docker-for-windows

我正在使用适用于 Windows 的 Docker,并且在我的 docker 主机上有一组已经构建的图像。当我尝试使用 docker-compose up -d 命令启动我的环境时,我经常遇到不同容器的 i/o 超时错误。通常,重试会有帮助,但我正在尝试自动执行此操作,并且不能期望重新运行整个管道。

版本:

Docker 版本 18.09.0,build 4d60db4

docker-compose 版本 1.23.1,构建 b02f1306

命令行日志:

C:\workspace\AK_DOCKER_RISK\docker-compose>docker-compose up -d
Creating risk-svc ... 
Creating risk-svc ... done
Creating risk-prc ... 
Creating risk-web ... 
Creating risk-web ... error
ERROR: for risk-web  b'i/o timeout'
Creating risk-prc ... done
ERROR: for web  b'i/o timeout'

Encountered errors while bringing up the project.

该错误是随机观察到的,有时是针对 svc,或 web 或 prc。

有人可以解释为什么会出现此错误,更重要的是 - 如何解决此问题?

这是我的docker-compose.yml 文件:

version: '3'
services:
  web:
    image: iis-core-web:1910.252
    build:
      context: .
      dockerfile: ./web/Dockerfile
    container_name: risk-web
    ports:
      - "9111:8080"
    tty: true
    links:
      - svc
    volumes:
      - ../RiskLogs/web:c:/RiskLogs
  svc:
    image: iis-core-svc:1910.252
    build:
      context: .
      dockerfile: ./svc/Dockerfile
    container_name: risk-svc
    ports:
      - "9112:8080"
    tty: true
    volumes:
      - ../RiskLogs/svc:c:/RiskLogs
  prc:
    image: iis-core-prc:1910.252
    build:
      context: .
      dockerfile: ./prc/Dockerfile
    container_name: risk-prc
    tty: true
    links:
      - svc
    volumes:
      - ../RiskLogs/prc:c:/RiskLogs
  # prevent creation of new network and use existing nat
networks:
  default:
    external:
      name: nat

最佳答案

链接是一项遗留功能。根据文档尝试用户定义的网络:

https://docs.docker.com/compose/compose-file/#links

关于Docker Compose up 命令经常超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55646064/

相关文章:

docker - Beego - 使用来自 docker-compose 实现的端口号,而不是使用来自 app.conf 的端口号

docker - 在docker容器中使用webhdfs打开文件

php - 运行 Symfony 控制台命令后 Docker php-fpm 容器退出并显示代码 0

docker - 如何知道 docker 是否已经登录到 docker 注册服务器

windows - 适用于 Windows 的 Docker : cannot assign requested address

docker - Traefik路径路由

kubernetes - NodePort 类型服务在集群外部不可访问

Docker Run 命令挂起,没有任何错误

docker - 无法从 pod 容器内访问 kubernetes api

java - 从 docker 容器内部连接到 Cassandra