Docker暴露了无法正常工作的弹性beantalk

时间:2018-07-25 18:52:20

标签: amazon-web-services docker elastic-beanstalk

我有一个放置在EB上的tinyproxy Docker容器。容器运行良好,Docker ps显示端口8888 / tcp,并登录到容器并执行netstat,我看到它在等待0.0.0.0:8888和::: 8888。

但是在我的EB主机上,我看不到任何连接。以下是我的dockerfile,我的单个容器没有Dockerrun.aws.json,因为这似乎不是强制性的。有什么想法吗?

FROM alpine:3.7

MAINTAINER Daniel Middleton <monokal.io>

RUN apk add --no-cache \
bash \
tinyproxy

COPY run.sh /opt/docker-tinyproxy/run.sh

RUN chmod +x /opt/docker-tinyproxy/run.sh

EXPOSE 8888

ENTRYPOINT ["/opt/docker-tinyproxy/run.sh","docker run -d --name='tinyproxy' -p 8888:8888 dannydirect/tinyproxy:latest ANY"]

根据以下评论进行编辑:

docker ps -a的输出是:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
cd352352ddb        ffe23df0902        "/opt/docker-tinypro…"   2 hours ago         Up 2 hours          8888/tcp            zealous_volhard

,当从安全组中允许的IP访问url时,给出以下输出:

Not Implemented
Unknown method or unsupported protocol.

Generated by tinyproxy version 1.8.4.

1 个答案:

答案 0 :(得分:0)

  

有什么想法吗?

  • 从您的输出来看,您将到达tinyproxy,因此您的端口已正确暴露和利用。
  • 现在,奇怪的是您的入口点... "/opt/docker-tinyproxy/run.sh"似乎是常规的tinyproxy开始,但是... "docker run -d --name='tinyproxy' -p 8888:8888 dannydirect/tinyproxy:latest ANY"似乎完全不合适。据我从检查tinyproxy容器得知,应该将以下内容设置为入口点和cmd:

    "Cmd": [
        "ANY"
    ],
    "Entrypoint": [
        "/opt/docker-tinyproxy/run.sh"
    ]
    

    因此,您可能要相应地调整入口点,因为它基本上期望/opt/docker-tinyproxy/run.sh ANY作为起点,并且得到完全不同的东西。