docker-compose 的expose作用
Docker Compose 中的 expose 关键字用于指定容器暴露的端口,但是并不会将这些端口映射到主机的端口上。实际上,expose 只是用于给其他容器或服务访问该容器的服务,而不是给外部主机访问。在 Docker Compose 中,如果需要将容器的端口映射到主机上,则需要使用ports关键字。
举个例子,假设我们有一个 web 应用程序容器,该容器运行在端口 8080 上。我们可以使用 expose 关键字将该端口暴露给其他容器:
version: '3'
services:
web:
build: .
expose:
- "8080"
这样,其他容器就可以通过该容器的 IP 地址和端口 8080 访问该应用程序。但是,从外部主机访问该应用程序仍然需要使用端口映射。因此,如果我们想要将该容器的端口映射到主机上,我们需要使用 ports 关键字:
version: '3'
services:
web:
build: .
ports:
- "8080:8080"
expose:
- "8080"
这样,我们就可以从外部主机访问该应用程序了
原文地址: https://www.cveoy.top/t/topic/eCTO 著作权归作者所有。请勿转载和采集!