210820 TIL

Docker에서 java 실행할 때, 앱에 대한 변수가 담긴 application.properties를 추가로 넣고 싶을때

FROM openjdk:8
VOLUME /tmp
WORKDIR /
ADD target/springboot-docker-mysql.jar springboot-docker-mysql.jar
ENTRYPOINT ["java","-jar","springboot-docker-mysql.jar","--spring.config.additional-location=application.properties"]

위처럼 additional-location으로 지정해줘야한다. location으로 지정하면 기존에 되어 있던거 날라간다 훠우..

여러 컨테이너를 각기 다른 네트워크로 띄웠을때... 같은 localhost여도 포트가 허용이 안되어 있으면 api로 서로 데이터를 주고 받을 수가 없다. 즉, 인터넷 브라우져로 서비스를 되는 것을 확인했는데 각자 컨테이너에서 데이터를 끌어오는게 안된다. 이때에는 포트를 오픈시켜줘야함. netstat으로 확인했을때 도커로 인해 tcp로 해당 포트가 열려있는 것 처럼 보이지만 iptables로 확인해보면 열려있지 않다면 오픈 시켜줘야한다.

iptables -I INPUT 1 -p tcp --dport 12345 -j ACCEPT

위 명령어를 써서 원하는 포트를 열어주고 다시 통신이 되는지 확인하면 잘 돌아가는 것을 확인할 수 있다.

휴... 오늘도 일하면서 많이 배워간다.. 삽질도 많이 하고

채널톡 아이콘