ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux-即使我可以ping它,也无法卷曲Docker中的链接容器

2019-10-28 21:50:32  阅读:201  来源: 互联网

标签:docker curl gunicorn linux django


我有一个名为backend的Docker容器,该容器公开一个端口8200,并在其中的gunicorn后运行django服务器.这是我的Dockerfile:

FROM debian:wheezy

RUN rm /bin/sh && \
    ln -s /bin/bash /bin/sh && \
    apt-get -y update && \
    apt-get install -y -q \
                    curl \
                    procps \
                    python=2.7.3-4+deb7u1 \
                    git \
                    python-pip=1.1-3 \
                    python-dev \
                    libpq-dev && \
    rm -rf /var/lib/{apt,dpkg,cache,log}

RUN pip install virtualenv && \
    virtualenv mockingbird && \
    /bin/bash -c "source mockingbird/bin/activate"

ADD ./requirements.txt /mockingbird/backend/requirements.txt
RUN /mockingbird/bin/pip install -r /mockingbird/backend/requirements.txt

ADD ./src /mockingbird/backend/src

CMD ["/mockingbird/bin/gunicorn", "--workers", "8", "--pythonpath", "/mockingbird/backend/src/", "--bind", "localhost:8200", "backend.wsgi"]

我正在像这样运行此容器:

vagrant@10:~$sudo docker run --name backend --env-file /mockingbird/apps/backend/env/dev -d --restart always --expose 8200 mockingbird/backend

我知道django服务器已启动,并通过执行以下操作并获得响应在正确的端口上进行响应:

vagrant@10:~$sudo docker exec -it backend /bin/bash
root@b488874c204d:/# curl localhost:8200

然后,我开始一个新的容器,该容器链接到后端,如下所示:

sudo docker run -it --link backend:backend debian:wheezy /bin/bash

但是,当我尝试卷曲后端时,它不起作用:

root@72946da3dff9:/# apt-get update && apt-get install curl
root@72946da3dff9:/# curl backend:8200
curl: (7) couldn't connect to host

但是,我能够ping后端:

root@72946da3dff9:/# ping backend
PING backend (172.17.0.41): 48 data bytes
56 bytes from 172.17.0.41: icmp_seq=0 ttl=64 time=0.116 ms
56 bytes from 172.17.0.41: icmp_seq=1 ttl=64 time=0.081 ms

任何人都知道我可以尝试调试的原因,为什么我无法连接到链接的Docker容器中运行的服务?我在这里缺少能够从链接的容器卷曲backend:8200的东西吗?

解决方法:

这可能是一个问题:“-bind”,“ localhost:8200”,因为将不接受与后端主机名的连接.您可能希望将其更改为“ 0.0.0.0:8200”或“:8200”,具体取决于所支持的表示法.

标签:docker,curl,gunicorn,linux,django
来源: https://codeday.me/bug/20191028/1955387.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有