참고 블로그
Ubuntu에 Nginx 설치하고 실행 해보기(feat. Docker)
15. [Docker] 도커에서 Container 포트와 Host 포트의 개념
[Nginx] Nginx와 SpringBoot 내장 Tomcat 연동
Docker Compose로 localhost Nginx 리버스 프록시 구성
1. 네트워크 생성
docker network create app-network
2. tomcat 컨테이너 생성
docker run -d -p 8080:8080 --network=app-network --name tomcat tomcat:8.0
3.nginx 컨테이너 생성
docker run -d -p 80:80 --network=app-network --name webserver nginx:stable
4.nginx.conf 파일 수정
server {
listen 80;
location / {
proxy_pass http://apiserver;
}
}
upstream apiserver {
server **tomcat**:8080;
}
중요
server tomcat:8080
이 부분의 tomcat 부분은 내가 설정한 톰캣 컨테이너의 이름이 들어가야함
만약 내가 컨테이너 이름을 was로 했는데 tomcat으로 설정해놓으면 container가 올라가지 않고 이런 오류가 나옴
/docker-entrypoint.sh: Configuration complete; ready for start up
2021/04/08 08:34:34 [emerg] 1#1: host not found in upstream "tomcat" in /etc/nginx/conf.d/default.conf:10
nginx: [emerg] host not found in upstream "tomcat" in /etc/nginx/conf.d/default.conf:10