使用ipv6訪問群暉下的docker一點經(jīng)驗與疑問
一直在折騰自己的新弄的nas,因為沒有ipv4公網(wǎng)地址,而一直都有ipv6的環(huán)境,所以想給docker上的服務(wù)都整上ipv6的外網(wǎng)訪問,結(jié)果雖然湊合達成了,但是總覺得不舒服,先分享下我的經(jīng)驗,不知道有沒有大佬有更好的解決辦法。
會整出這么麻煩的事,應(yīng)該是20版后的docker的ipv6有問題,據(jù)其他人反饋 舊版18版的沒問題,
先放上我的折騰測試結(jié)果
首先獲取了一個支持ipv6的docker


如圖2個容器分別放host自己開66端口??放bridge的容器內(nèi)80轉(zhuǎn)宿主機668
在內(nèi)網(wǎng)ipv4訪問這些端口時都是正常的
注意容器記錄的ip


v6下?bridge直接拒絕

host下的可以連接


而如果這時候在docker宿主機上(群暉)做個反代轉(zhuǎn)發(fā)666到668端口的話,ipv6就能訪問bridge下的容器



我猜測結(jié)論就是在該版docker中?無法直接通過宿主機的ipv6訪問處于bridge中的容器。而要想在外網(wǎng)通過ipv6訪問docker內(nèi)容,目前2個思路:
?1.容器丟docker的host網(wǎng)絡(luò)下,因為端口不需轉(zhuǎn)映射(因為host),但是容器的環(huán)境端口一定要在創(chuàng)建的時候決定好(感覺這里是個bug;創(chuàng)建容器后再修改會無效,只能一直用創(chuàng)建時的端口訪問)
2.容器丟bridge下,在群暉宿主機上使用反代做一個端口轉(zhuǎn)發(fā),缺點是占用2個端口,但是端口也隨時能改。
2種方式目前我個人說不上哪個好,但是聽說反代會稍微降低網(wǎng)絡(luò)性能
不知可否有更好辦法讓容器在bridge下被外網(wǎng)ipv6直接訪問而不需要反代???