docker-compose up引起的UnixHTTPConnectionPool(host='localhost', port=None): Read timed out.

首次在mac上使用docker-compose,在写完docker-compose.yml后docker-compose up容器一直启动不起来,提示错误是

UnixHTTPConnectionPool(host='localhost', port=None): Read timed out.

碰到问题当然是先检查docker-compose.yml的配置了,大致是这样的:


version:"2"

services:

  redis:

    image:redis:latest

    container_name:xxxx

    volumes:

      - ./data/redis:/data

    restart:always

  mysql:

    build:../mysql

    container_name:prador_mysql

    volumes:

      - ./data/mysql:/var/lib/mysql

    ports:

      -"3306:3306"

    environment:

      - MYSQL_ROOT_PASSWORD=xxxx

      - MYSQL_DATABASE=xxxx

按照经验应该是没什么问题的,但是在up的时候总是超时,接下来就是一顿google,结果发现在github上发现很多这类情况,解决方案基本是设置超时时间更长120s,默认是60s,尝试后问题依旧

  • 最开始怀疑是mac上docker的问题,于是乎升级docker,重装docker问题依旧

  • 这个时候回想到data这个目录的挂载,我是采用了软连接,实际data这个文件夹不在和docker-compose.yml同级目录下,遂ls data一下,发现是data(实际应该是redis和mysql两个文件夹),cd data的时候出现Too many levels of symbolic links

  • 接下来问题就明确了,软连接用的不对,参考

http://www.cnblogs.com/beifei/archive/2011/09/07/2170301.html

  • 后续经过测试,对于不同级目录的软连接,需要使用绝对路径,至此问题解决,docker-compose up能成功运行容器
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 以下原文转载于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend阅读 7,677评论 0 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,234评论 19 139
  • 先来看一份 docker-compose.yml 文件,不用管这是干嘛的,只是有个格式方便后文解说: 可以看到一份...
    左蓝阅读 288,663评论 37 296
  • 落花流水尽心凉, 远处楼台隔岸黄。 枯草愁丝缠碧露, 秋云细雨透孤墙。 忽惊白鹭啼清影, 不觉诗文咏菊香。 红袖盈...
    sujing123阅读 352评论 0 9
  • 很多时候,当我掀开桌子上的笔记本,当我输入密码进入我的用户状态前,我都不知道自己要写些什么,这种无力感是常常发生的...
    OMG咸鸭蛋阅读 1,332评论 0 14