카테고리 없음
Docker Tip 컨테이너 통신
ㅈ현
2022. 6. 20. 16:27
docker컨테이너를 사용하며 컨테이너간 상호 통신을 사용해야할 때가 있다.
docker network 설정이 아닌 link방법
docker run 명령으로 실행시
docker run --link <컨테이너 이름>
위와같이 –link옵션을 지정하게 되면 해당 컨테이너에서 link를 걸게 된 컨테이너와 통신을 할 수 있게 된다.
예를 들어 DB 컨테이너와 flask 컨테이너가 있다고 가정해본다.
flask 컨테이너는 DB 컨테이너의 내용을 띄워야 하는 상황이다.
이때 docker의 사설IP나 포트를 사용해도 되지만, 다음과 같은 방법으로 편하게 사용이 가능함.
docker run -p 3306:3306 --name maria mariadb
docker run -p 5000:5000 --link maria python
이제 python 컨테이너에서는 maria 컨테이너로 접속하기 위해서 IP주소를 넣거나 localhost등을 사용할 필요 없이 maria라는 컨테이너 이름을 hostname으로 사용하면 된다.
만약 n개의 컨테이너와 통신할때면 --link 옵션을 n번 사용해주면 된다
docker-compsoe 로 실행시
docker-compose로 실행하게 되면 같은 compose내 모든 컨테이너들은 link되어 있으므로 특별한 설정 없이 상대 컨테이너의 이름으로 통신을 할 수 있게 된다.