我是docker和haproxy的新手。我试图效仿官方docker hub repo中的例子。
所以,我有Dockerfile
FROM haproxy:1.5
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
和简单的haproxy配置(我希望将本地调用重定向到我的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
构建并运行
$ docker build .
$ docker run --rm d4598bcc293f
容器启动和卡住,Ctrl + C不会阻止它。 “docker kill”只有帮助。
我的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
我错过了什么或做错了什么?
谢谢!
更新:我发现调用重定向有问题。错误的港口 haproxy.cfg中的数字。
但是这个问题仍然让我感到烦恼......集装箱启动和卡住, Ctrl + C不要阻止它。 “docker kill”只有帮助。
答案 0 :(得分:3)
如果您希望能够使用control-c退出,请执行docker run -i <image>
。 -i
表示将输入传递给容器化程序,如果HAProxy获得control-c,则它将终止,这将停止容器。
除非你在调试模式下运行它,否则HAProxy不会产生任何输出,所以没有太多关于运行附加的信号。使用docker run -d <image>
可能会有更好的时间,它将从容器中分离并让它在后台运行。要停止它,请使用docker kill
。