我有一個 docker-compose 專案,我試圖在我的服務器上運行,它沒有啟用 IPv6。每當我嘗試運行容器時,都會收到以下錯誤訊息:
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
我想那是因為我的服務器上沒有啟用 IPv6(它是由第三方管理的,所以我不能碰它),所以我嘗試為 docker-compose 禁用 IPv6,到目前為止沒有任何運氣。
我嘗試添加
sysctls:
net.ipv6.conf.all.disable_ipv6: 1
在我的組態檔上,但后來我收到以下錯誤
Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: open /proc/sys/net/ipv6/conf/all/disable_ipv6: no such file or directory: unknown
如何在 docker-compose 中禁用 IPv6,無論是對于這個特定的容器還是在系統范圍內都不會出現這樣的問題?
這是我目前的配置
container_name: cont-nginx
networks:
- cont
image: nginx:latest
depends_on:
- cont-app
restart: always
ports:
- "880:880"
- "4443:4443"
sysctls:
- net.ipv6.conf.all.disable_ipv6=1
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
networks:
cont:
driver: bridge
uj5u.com熱心網友回復:
為 docker 的網路禁用 IPv6 應該可以完成這項作業:
networks:
cont:
driver: bridge
enable_ipv6: false
另外,也許你應該考慮從你的 nginx conf 中洗掉它
listen [::]:80;
因為[::]用于 IPv6。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/512573.html
標籤:码头工人码头工人撰写
