在使用Docker搭建內網服務時,需要使用內網IP進行訪問。以下是如何使用內網IP在Docker中運行服務的方法。
# 創建一個Docker網絡,以便容器可以相互通信 $ docker network create my-net # 運行容器,使用--network指定網絡,并且映射端口 $ docker run -d --network my-net --name my-container -p 8080:80 my-image # 使用容器的內網IP訪問服務 $ curl http://my-container:80
在上面的命令中,我們創建了一個名為my-net的Docker網絡,并使用--network選項指定了該網絡。然后,運行了一個名為my-container的容器,并將其映射到了主機的8080端口。最后,我們使用容器的內網IP訪問了服務。
注意,在本地HOSTS文件中配置一個別名以訪問容器的內網IP也是一種有效的方法。例如:
# 在HOSTS文件中添加以下行 172.19.0.2 my-container # 直接使用別名訪問容器服務 $ curl http://my-container:80
這是一個方便的方法,但需要手工維護HOSTS文件,而且需要每臺計算機上都進行配置。
在Docker中使用內網IP訪問服務時,請務必將容器拆分到不同的Docker網絡中,這樣它們才不會直接暴露給互聯網。