[IntroToDocker] JetBrains Intro to Docker[Part 2 Networking, Docker Compose]

2022. 1. 3. 22:58개발공부/Docker Tutorial

728x90

JetBrains Intro to Docker[Part 2 Networking, Docker Compose]

Web Application + Docker

웹 애플리케이션과 DB를 각각 Docker Container로 생성한 뒤 Docker compose를 활용해 서비스를 실행시켜 볼겁니다.

Creating the DB Container

docker pull mysql

docker run --name app-db -d -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=myDB mysql

M1 installing mysql Error

M1 맥북은 docker pull mysql 명령어를 실행하면 ARM64를 지원하지 않기 때문에 오류가 발생합니다. 이때 docker pull --platform linux/amd64 mysql를 실행시켜주면 해결됩니다.

Creating the DB Web Applicaiton

Networking(port)

포트가 겹치지 않도록 네트워킹 설정을 해줍니다.

docker run --name app -d -p 8080:8080

콜론 앞 포트번호는 호스트의 포트고, 뒷 포트번호는 컨테이너에 해당되는 포트입니다.

Communication btw containers

Bridge Network는 컨테이너 간 커뮤니케이션에 표준화된 네트워킹입니다.

Docker Compose
앱 서비스들을 정의하고 실행 명령어를 코드화 시켜주는 Docker compose 입니다. 자동으로 network 브리징도 해줍니다.

docker-compose up -d

-d는 --detach의 약자로 백그라운드에서 실행되도록 하는 명령어입니다.


참고자료
Intro to Docker - Part 2 (Networking, Docker Compose)