每当我想运行它时,HAproxy容器都会退出

时间:2020-04-25 12:35:07

标签: docker dockerfile containers haproxy

我每次尝试运行HAproxy容器时都会退出。

我试图在没有--d的情况下运行它,以查看为什么退出,并得到以下输出:

$ sudo docker run  --name=hapr -p 80:80 -v /haproxy/:/usr/local/etc/haproxy/  haproxy

我得到以下输出:

HA-Proxy version 2.1.4 2020/04/02 - https://haproxy.org/ Status: stable branch - will stop receiving fixes around Q1 2021. Known bugs: http://www.haproxy.org/bugs/bugs-2.1.4.html Usage : haproxy [-f <cfgfile|cfgdir>]* [ -vdVD ] [ -n <maxconn> ] [ -N <maxpconn> [ -p <pidfile> ] [ -m <max megs> ] [ -C <dir> ] [-- <cfgfile>* -v displays version ; -vv shows known build options. -d enters debug mode ; -db only disables background mode. -dM[<byte>] poisons memory with <byte> (defaults to 0x50) -V enters verbose mode (disables quiet mode) -D goes daemon ; -C changes to <dir> before loading files. -W master-worker mode. -q quiet mode : don't display messages -c check mode : only check config files and exit -n sets the maximum total # of connections (uses ulimit -n) -m limits the usable amount of memory (in MB) -N sets the default, per-proxy maximum # of connections (0) -L set local peer name (default to hostname) -p writes pids of all children to this file -de disables epoll() usage even when available -dp disables poll() usage even when available -dS disables splice usage (broken on old kernels) -dG disables getaddrinfo() usage -dR disables SO_REUSEPORT usage -dr ignores server address resolution failures -dV disables SSL verify on servers side -sf/-st [pid ]* finishes/terminates old pids. -x <unix_socket> get listening sockets from a unix socket -S <bind>[,<bind options>...] new master CLI

如果我列出了容器,则会收到以下消息:

$ docker container ls -a

Exited (1) 3 minutes ago

2 个答案:

答案 0 :(得分:1)

如果有人遇到同样的问题,我已经解决了我的问题。 因此,只需在命令中包含完整路径即可。

$ sudo docker run  --name=hapr -p 80:80 -v /haproxy/:/usr/local/etc/haproxy/  haproxy

使用

$ sudo docker run  --name=hapr -p 80:80 -v /home/ubuntu/haproxy/:/usr/local/etc/haproxy/  haproxy

还应该在主机中已准备好haproxy.cfg。

答案 1 :(得分:0)

如果您选中official HAproxy page on DockerHub,则可能会发现需要将haproxy.cfg插入路径/haproxy/。否则,HAproxy无法启动。

请注意,应在主机的/ path / to / etc / haproxy文件夹中填充名为haproxy.cfg的文件。如果此配置文件引用该文件夹中的任何其他文件,则应确保它们也存在(例如,模板文件,例如400.http,404.http等)。

关于haproxy.cfg,有official HAproxy documentation

要继续,您需要停止并删除当前容器:

$ docker stop CONTAINER
$ docker rm CONTAINER

然后再次创建。