如何访问本地主机中的 docker 服务

how to access docker service in localhost

我用 docker 图片创建了一个简单的服务。我想如何在我系统的本地主机上访问它。

docker service create --name my-app --replicas 3 -p 9090:8000 my-app-image



docker service ls

ID             NAME      MODE         REPLICAS   IMAGE                 PORTS
ojvi1m6f8b41   my-app    replicated   3/3        my-app-image:latest   *:9090->8000/tcp



docker ps

CONTAINER ID   IMAGE                 COMMAND                CREATED          STATUS          PORTS      NAMES
92b7d0ee0732   my-app-image:latest   "java -jar /app.jar"   39 seconds ago   Up 33 seconds   9090/tcp   my-app.2.corp0f0uln0ng4h9lrk6h09nl
4478d716939a   my-app-image:latest   "java -jar /app.jar"   39 seconds ago   Up 33 seconds   9090/tcp   my-app.1.v3wwxp1xz93sfonimg1uszaqz
52aab839c268   my-app-image:latest   "java -jar /app.jar"   39 seconds ago   Up 34 seconds   9090/tcp   my-app.3.ihpy62i331h48b1mtuhr87z46

似乎服务是 运行 但我无法在 http://localhost:8000

中访问它

请帮忙

您正在将主机(在本例中为您的本地计算机)的端口 9090 映射到容器端口 8000。换句话说:您应该能够在本地端口 9090 上访问它

For more information on container networking

您可以在 http://localhost:9090 中访问它。 8000 是您的 docker 容器内的端口,无法从外部访问。 本机端口为9090