2017-07-02 80 views
0

我想給同級容器訪問/var/run/haproxy.sock。不幸的是,當我嘗試通過使用命名捲進行綁定安裝來執行此操作時,它會引發錯誤。是否有可能與其他容器共享haproxy.sock?我認爲它是,所以我想知道我在這裏失去哪一塊。可能是權利 - 但如何正確設置它們?從HAProxy泊塢窗容器裝載haproxy插座

worker1 | <7>haproxy-systemd-wrapper: executing /usr/local/sbin/haproxy -p /run/haproxy.pid -f /usr/local/etc/haproxy/haproxy.cfg -Ds 
worker1 | [ALERT] 182/075644 (6) : Starting frontend GLOBAL: error when trying to preserve previous UNIX socket [/var/run/haproxy.sock] 
worker1 | <5>haproxy-systemd-wrapper: exit, haproxy RC=1 

我在haproxy.cfg以下配置:

global 
    maxconn 8204 
    tune.ssl.default-dh-param 2048 
    stats socket /var/run/haproxy.sock mode 660 level admin 
    stats timeout 30s 

我使用泊塢窗,撰寫,開始我的集裝箱羣模式:

version: '3.2' 

services: 
    haproxy: 
    image: haproxy:1.7.7 
    ports: 
     - "80:80" 
     - "443:443" 
    volumes: 
     - "/home/ubuntu/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro" 
     - "socket:/var/run/haproxy.sock:rw" 
    ulimits: 
     nofile: 
     soft: 16479 
     hard: 16479 
    deploy: 
     placement: 
     constraints: 
      - node.hostname==worker1 

volumes: 
    socket: {} 

回答

0

命名卷只能是目錄,而不是單個文件。結果,這條線;

"socket:/var/run/haproxy.sock:rw" 

將嘗試在容器內的位置/var/run/haproxy.sock上安裝目錄(「套接字」卷)。

如果「haproxy.sock」的位置是可配置的,您可以嘗試類似;

"socket:/my-haproxy-socket-directory" 

(插座本身將位於/my-haproxy-socket-directory/haproxy.sock容器內)

+0

是的,感謝指出了這一點。你救了我的一天:) – soosap