[IntroToDocker] JetBrains Intro to Docker[Part 2 Networking, Docker Compose]
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의 약자로 백그라운드에서 실행되도록 하는 명령어입니다.