![클러스터 외부에서 Docker Swarm 서비스에 액세스하는 방법은 무엇입니까?](https://linux55.com/image/116741/%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%20%EC%99%B8%EB%B6%80%EC%97%90%EC%84%9C%20Docker%20Swarm%20%EC%84%9C%EB%B9%84%EC%8A%A4%EC%97%90%20%EC%95%A1%EC%84%B8%EC%8A%A4%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 클러스터에서 실행 중인 웹 애플리케이션이 있는 경우 외부 클라이언트에서 해당 애플리케이션에 어떻게 액세스합니까? 역방향 프록시가 필요합니까, 아니면 이를 수행하는 "군집 방식"이 있습니까?
답변1
서비스를 생성할 때 이 옵션을 사용해야 합니다 --publish
.
예를 들어:
docker service create --detach=true --replicas 3 --publish 80:80 --name httpd httpd
이제 포트 80이 기본 네트워크에 노출됩니다. 유용한 것은,모든Swarm의 서버는 포트 80을 게시하고 컨테이너가 실제로 실행되는 위치로 내부 리디렉션을 실행합니다.
다시 말하지만, 스택을 사용하는 경우 이 옵션을 사용할 수 있습니다 ports
. 예를 들어:
services:
web:
image: httpd
ports:
- 80:80