這篇文章是一份公開筆記,主要是留存給自己看的
內容只適合進階的 Linux 使用者,如果你也想用 Docker 開 Minecraft Server,可以參考看看
需要的背景知識 : 熟悉 Linux 指令列、Docker、網路
需要的環境 : 任意一台 Linux 主機 ( 我是 Pop!_OS 20.04 ) 以及對你家 Router 有絕對的控制權
過去我會使用虛擬區網軟體來繞過沒有固定 IP 的問題,不過現在我不這麼做
首先我會先用 $ curl ifconfig.me 確認自己對外的 IP,然後用 $ ifconfig enp4s0 看區網 IP
enp4s0 是我有線網路的那張網卡界面,實際上我的 Linux 主機有很多網路界面
因為裝了 Docker 和 Virtual Box,再加上我的主機板有無線網卡,再加上 Loopback ...
有時候為了求快速,直接 $ ifconfig | grep 192.* 也是一個不錯的辦法
回歸正題,最後還要用 $ ip route 或 $ route 去找到區網的 Gateway IP ( Router 的 IP )
現在一共會拿到三組 IP,分別是 : 對外上網的、你在區網的、Router 的
接下來,打開瀏覽器,直接在網址列輸入 Router 的 IP,以管理員的身份進入管理頁面
因為要設定 Port Forwarding,所以才需要對 Router 有絕對的控制權
簡單的把外網 IP 的 25565 Port 對應到你區網的 IP 的 25565 Port 即可 ( Minecraft 預設 Port )
接著回到指令列下 $ docker run -d -p 25565:25565 --name mc itzg/minecraft-server