thingsboard集群docker swarm部署报getsockopt failed strangely: Operation not permitted
生活随笔
收集整理的这篇文章主要介绍了
thingsboard集群docker swarm部署报getsockopt failed strangely: Operation not permitted
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
thingsboard的集群部署通过docker-compose方式部署时没有出现任何问题,但是使用portainer(docker swarm)方式进行部署时haproxy服务报"getsockopt failed strangely: Operation not permitted"错误信息,具体哪里出了错没有具体提示信息,在thingsboard github社区也发了帖子最终该项目开发人员没有给出方案,无奈自己选择了其他方案,不再使用thingsboard官网给出的xalauc/haproxy-certbot:1.7.9镜像,选择了haproxy:1.7.12镜像解决了这个问题,具体docker-compose相关配置如下所示:
haproxy:restart: alwaysimage: haproxy:1.7.12deploy:placement:constraints: # 添加条件约束- node.labels.server==tbports:- "80:80"- "443:443"- "1883:1883"- "9999:9999"cap_add:- NET_ADMINprivileged: truevolumes:- /home/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfgenvironment:HTTP_PORT: 80HTTPS_PORT: 443MQTT_PORT: 1883FORCE_HTTPS_REDIRECT: "false"links:- tb-core1- tb-core2- tb-rule-engine1- tb-rule-engine2- tb-web-ui1- tb-mqtt-transport1- tb-mqtt-transport2- tb-http-transport1haproxy.cfg做了精简,删去了https部分,如下所示:
#HA Proxy Config globalulimit-n 500000maxconn 99999maxpipes 99999tune.maxaccept 500log 127.0.0.1 local0log 127.0.0.1 local1 noticedefaultslog globalmode httptimeout connect 5000mstimeout client 50000mstimeout server 50000mstimeout tunnel 1h # timeout to use with WebSocket and CONNECTdefault-server init-addr none#enable resolving throught docker dns and avoid crashing if service is down while proxy is starting resolvers docker_resolvernameserver dns 127.0.0.11:53listen statsbind *:9999stats enablestats hide-versionstats uri /statsstats auth admin:admin@123listen mqtt-inbind *:${MQTT_PORT}mode tcpoption clitcpka # For TCP keep-alivetimeout client 3htimeout server 3hoption tcplogbalance leastconnserver tbMqtt1 tb-mqtt-transport1:1883 check inter 5s resolvers docker_resolver resolve-prefer ipv4server tbMqtt2 tb-mqtt-transport2:1883 check inter 5s resolvers docker_resolver resolve-prefer ipv4frontend http-inbind *:${HTTP_PORT}option forwardforreqadd X-Forwarded-Proto:\ httpacl transport_http_acl path_beg /api/v1/acl letsencrypt_http_acl path_beg /.well-known/acme-challenge/acl tb_api_acl path_beg /api/ /swagger /webjars /v2/ /static/rulenode/ /oauth2/ /login/oauth2/use_backend letsencrypt_http if letsencrypt_http_acluse_backend tb-http-backend if transport_http_acluse_backend tb-api-backend if tb_api_acldefault_backend tb-web-backendbackend letsencrypt_httpserver letsencrypt_http_srv 127.0.0.1:8080backend tb-web-backendbalance leastconnoption tcp-checkoption log-health-checksserver tbWeb1 tb-web-ui1:8080 check inter 5s resolvers docker_resolver resolve-prefer ipv4server tbWeb2 tb-web-ui2:8080 check inter 5s resolvers docker_resolver resolve-prefer ipv4http-request set-header X-Forwarded-Port %[dst_port]backend tb-http-backendbalance leastconnoption tcp-checkoption log-health-checksserver tbHttp1 tb-http-transport1:8081 check inter 5s resolvers docker_resolver resolve-prefer ipv4server tbHttp2 tb-http-transport2:8081 check inter 5s resolvers docker_resolver resolve-prefer ipv4backend tb-api-backendbalance sourceoption tcp-checkoption log-health-checksserver tbApi1 tb-core1:8080 check inter 5s resolvers docker_resolver resolve-prefer ipv4server tbApi2 tb-core2:8080 check inter 5s resolvers docker_resolver resolve-prefer ipv4http-request set-header X-Forwarded-Port %[dst_port]
总结
以上是生活随笔为你收集整理的thingsboard集群docker swarm部署报getsockopt failed strangely: Operation not permitted的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 注塑模具设计时,需要依据哪些设定原则?
- 下一篇: setsockopt和getsockop