docker集装箱内的haproxy

我是新来的docker和haproxy ..我试图按照官方docker中心回购的例子。

所以,我有Dockerfile

FROM haproxy:1.5 COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg 

和简单的haproxyconfiguration(我希望将本地调用redirect到我的EB实例)

 global # daemon maxconn 256 defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms frontend http-in bind *:80 default_backend servers backend servers server server1 {my-app}.elasticbeanstalk.com:80 maxconn 32 

build立并运行

 $ docker build . $ docker run --rm d4598bcc293f 

容器启动和卡住,Ctrl + C不会停止它。 “docker杀”只有帮助。

我的EB资源正在运行

 $ curl {my-app}.elasticbeanstalk.com/status { "status": "OK" } 

但本地通话失败

 $ boot2docker ip 192.168.59.104 $ curl 192.168.59.104/status curl: (7) Failed to connect to 192.168.59.104 port 80: Connection refused 

我错过什么或做错了什么?

谢谢!

更新:我发现调用redirect的问题。 haproxy.cfg中的端口号错误

但是这个问题仍然让我感到困扰…容器开始和Stuck,Ctrl + C不能阻止它。 “docker杀”只有帮助。

如果你希望能够用control-c退出,请执行docker run -i <image>-i表示将input传递给容器化的程序,如果HAProxy得到一个控件c,那么它将终止,这将停止容器。

HAProxy不会产生任何输出,除非你在debugging模式下运行它,所以没有太多的意义去运行附加,但是。 你可能会有更好的时间与docker run -d <image> ,将从容器分离,让它在后台运行。 要停止它,使用docker kill