docker container로 띄운 redis에 접속해보니, 아래와 같은 로그가 찍혀 있었다.

뭔가 이 redis가 slave 노드이고, master에 접속하려고 하지만 안되고 있다는 뜻인거 같은데
레디스 클러스터를 구성하지 않고 한 대 쓰고 있었기에 저런게 뜨는게 너무 이상했다
열심히 자료를 찾아봐도 레디스 클러스터를 구성하는 과정에서 저런 에러가 발생했다는 글밖에 찾을 수 없었는데,
가장 원인 같아 보이는 stackoverflow 페이지를 하나 찾을 수 있었다.
https://stackoverflow.com/questions/57738563/redis-running-on-docker-shuts-down-after-some-time
Redis running on Docker shuts down after some time
I got a very simple environment that uses Redis on Docker and it used to work pretty well until I moved my stack to Digital Ocean. My application stops working and then I have to restart it. It wor...
stackoverflow.com
위 질문자처럼, 나도 docker-compose.yml 파일에서 redis의 외부 포트를 열어주었는데

이 외부 포트로 다른 사람이 접속할 수 있다는 것 같다.. 그리고 이걸 지워도 다른 컨테이너와 레디스 컨테이너가 통신할 수 있다는 것 같아서 이부분을 삭제해보았고, 정상적으로 연결되는 것을 확인할 수 있었다.
docker network
외부포트를 열어주지 않아도 연결이 잘되는 이유는 아마도 docker network 때문일 것 같다.
spring container와 redis container를 띄우기 위한 docker-compose 파일에서 아래 사진과 같이 network를 만들어주었는데,
둘이 같은 브릿지 네트워크에 속해 있기 때문에, 외부포트를 열어주지 않아도 브릿지를 통해 통신할 수 있는 것 같다.

"docker network ls" 명령어를 통해 현재 만들어져 있는 docker network들을 볼수 있다.

그리고 "docker network inspect [네트워크이름]" 명령어를 통해서 네트워크의 세부정보를 볼 수 있다.

참고로 docker의 network에는 bridge, host, none이 있는데,
그중 bridge는 bridge를 통해 서로 다른 컨테이너가 통신할 수 있도록 하는, 도커 네트워크 중 가장 간단한 방식이라는 것 같다.

Reference
https://stackoverflow.com/questions/57738563/redis-running-on-docker-shuts-down-after-some-time
Redis running on Docker shuts down after some time
I got a very simple environment that uses Redis on Docker and it used to work pretty well until I moved my stack to Digital Ocean. My application stops working and then I have to restart it. It wor...
stackoverflow.com
Docker Network, 제대로 이해하기 (2)
📌 Docker SeriesDocker Engine, 제대로 이해하기 (1) - docker engine deep diveDocker Engine, 제대로 이해하기 (2) - namespace, cgroupDocker Network, 제대로 이해하기 (1) - libnetwork> Docker Network, 제대로 이해하기 (2) - b
gngsn.tistory.com