도커를 사용하다 보면 여러개의 컨테이너끼리 서로간에 통신이 필요한 경우가 있을때 어떻게 설정을 해야 가능한지 정리해보겠습니다.
1) 먼저 내부 네트워크 브릿지를 새로 생성합니다.
docker network create --gateway 172.19.0.1 --subnet 172.19.0.0/21 internal_net
생성한 네트워크의 상세 내역을 확인해봅시다.
# 네트워크 브릿지 리스트 확인
ubuntu@ip-10-10-10-149:~$ docker network ls
NETWORK ID NAME DRIVER SCOPE
639aff3124e1 bridge bridge local
742d3b6b0356 internal_net bridge local
db9535f2945b host host local
2d915c07de3a none null local
# 새로 생성한 네트워크 브릿지 내역 확인
ubuntu@ip-10-10-10-149:~$ docker inspect internal_net
[
{
"Name": "internal_net",
"Id": "742d3b6b0356c61a041a82d7b13a5a262fba7a04827efb2adbaf6a3c5b40b6cf",
"Created": "2023-04-10T07:31:14.928137822Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.19.0.0/21",
"Gateway": "172.19.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
이제 도커를 실행시킬때 해당 네트워크 브릿지를 명시해줍니다.
이때 IP를 특정하여 공유시켜줄수 있습니다.
# internal_net 브릿지를 사용하고 ip는 172.19.0.100을 사용하게 설정
# ip를 명시하지 않으면 자동으로 바인딩이 되며 docker 컨테이너 시작 순서에 따라 변경됨
docker run -d -p 11001:11001 --network internal_net --ip 172.19.0.100 -e ....
다시 현재 네트워크 상태를 확인해봅시다.
ubuntu@ip-10-10-10-149:~$ docker inspect internal_net
[
{
"Name": "internal_net",
"Id": "742d3b6b0356c61a041a82d7b13a5a262fba7a04827efb2adbaf6a3c5b40b6cf",
"Created": "2023-04-10T07:31:14.928137822Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.19.0.0/21",
"Gateway": "172.19.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"b2ca9a3f466f1901cae3b9a8943b4978ea8f304645237a8610e4f5f2ecb3971b": {
"Name": "internal_net.api",
"EndpointID": "22ff1e8996056a110fc0c8332f743d482c8795c4e5545c1a6462e1987e390ef5",
"MacAddress": "02:42:ac:13:00:64",
"IPv4Address": "172.19.0.100/21",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
위와 같이 설정한 IP와 네트워크 대역대로 실행이 됩니다.
다른 컨테이너도 동일하게 사용하시면 됩니다.
Java PKIX path building failed (0) | 2023.05.03 |
---|---|
[Docker] none 이미지 정리하기 (Dangling Images Remove) (0) | 2023.04.07 |
[Docker] 타임존(Timezone)을 설정해보자 (0) | 2023.03.28 |
[AWS] S3 파일 전체 백업하기 (0) | 2023.03.27 |
[AWS] AWS Credential Profile설정으로 여러개 사용하기 (0) | 2023.03.27 |
댓글 영역