Mr.*_*jeh 6 java spring docker spring-boot docker-compose
我需要同一应用程序的多个实例,因为我正在使用它
server.port=0
在随机端口中运行应用程序。我的问题是如何将随机生成的端口映射到 docker-compose.yml 以创建多个实例。我在后端使用 spring boot。我无法找到任何解决方案。非常感谢任何帮助。
每个 Docker 容器都在隔离的网络命名空间中运行单个进程,因此这是没有必要的。选择固定端口。对于 HTTP 服务,常见端口号包括 80、3000、8000 和 8080,具体取决于权限和语言运行时(80 需要提升权限,3000 是 Node 的默认端口,依此类推)。确切的端口号并不重要。
您可以使用已发布的端口从外部 Docker 空间访问该端口。如果您正在运行多个容器,并且多个服务使用相同的主机端口,则可能会发生冲突,这可能是您想要避免的。在docker run -p
选项或 Docker Composeports:
设置中,可以仅列出容器内运行的端口,Docker 将为您选择一个主机端口。
version: "3"
services:
web:
image: ...
ports:
- "8000" # no explicit host port
command: ... -Dserver.port=8000 # fixed container port
Run Code Online (Sandbox Code Playgroud)
docker-compose port
web 8000
会告诉您主机(公共)端口号是什么。对于同一docker-compose.yml
文件中的容器之间的通信,您可以使用服务名称和(固定、已知)内部端口http://web:8000
.
归档时间: |
|
查看次数: |
6444 次 |
最近记录: |