개발 실무를 진행하다 같은 네트워크 환경 안에서 도커 컨테이너끼리 통신을 해야할 일이 생겼다. (Java 프로젝트 컨테이너 & mariaDB 컨테이너)
application.yml 내에서 DB 서버 즉, Java 프로젝트 서버와 같은 IP 를 기입하고 진행하였지만, 계속되는 DB Connection Error 보게 됐다.
같은 host 내의 컨테이너 끼리 통신 시 network 설정을 통해 동일한 네트워크에서 실행되도록 추가적인 프로세스가 필요.
docker network create app-network
version: '3.8'
services:
app:
build: .
container_name: my-app
ports:
- "8080:8080"
****************** 추가한 부분 ******************
networks:
- app-network
networks:
app-network:
driver: bridge
****************** 추가한 부분 ******************
해당 내용을 추가하면, 도커파일을 통해 빌드될 때 네트워크 설정이 진행됨.
docker run -d \
--name mariadb-v3 \
--network app-network \
-e MARIADB_ROOT_PASSWORD=password \
-e MARIADB_DATABASE=sha-planing \
-p 3306:3306 \
mariadb:10.11
: docker network inspect 네트워크이름
만약, 연결되지 않았다면 ?
: docker network connect app-network mariadb-v3