docker로 tomcat, nginx 연결

참고 블로그
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

결과 ~ !