Docker compose란?
여러 개의 Docker 컨테이너들을 한번에 실행할 때 쓰기 위해 사용함
복잡한 명령어를 간소화하기 위해 사용함
compose 흐름 - nginX
- compose.yml 생성
- 아래와 같이 내용 작성
services = docker compose에서는 컨테이너를 service라고 적음services: my-web-server: container_name: webserver image: nginx ports: - 80:80 volumes: - ./my_data:/var/lib/sql
my-web-server = service의 이름
container_name = 컨테이너의 이름 (--name 옵션)
image = 어떤 이미지 쓸지 (이미지명)
ports = 어떤 포트 쓸지 (-p 80:80)
yml = 들여쓰기로 계층을 판단함 (like python) - 이 파일이 있는 경로에서 docker compose up 하면 실행이 됨
- docker compose up -d 를 쓰면 백그라운드가 켜짐
- docker compose ps를 하면 컨테이너들이 보임
- docker compose down 하면 컨테이너들이 종료됨
자주 사용하는 Docker compose CLI
compose.yml에서 정의된 컨테이너 중에서만 작동한다.
docker compose up -d : 백그라운드에서 실행
docker compose ps : 실행 중인 컨테이너
docker compose logs : 컨테이너의 로그를 모아 출력
docker compose up --build : 빌드부터 다시
docker compose pull : 최신 이미지로 업데이트함
docker compose down : 컨테이너 종료
한번에 두개 띄우는 방법
services:
first-server:
image: redis
ports:
- 6379:6379
container_name: server_1
second-server:
image: nginx
ports:
- 8080:80
container_name: server_2
요런식으로! 파이썬 코드 작성하듯이 하면된다.
꿀팁
https://www.composerize.com/
웹사이트에 docker run 명령어를 넣으면 copose.yml에 넣을 커맨드를 받을 수 있다.
https://www.decomposerize.com/
거꾸로, 여기서는 compose.yml 명령어를 docker run 형식으로 바꿔줄 수 있다!
이 수업 다음은 뭘 배워야할까?
이 강의에서 클라우드 서비스를 이용해 배포하는 과정까지 포함되었으나, 딱히 해당 내용은 필요한 것 같지 않아 PASS!
강사님은, 우선 도커를 이런 저런 프로젝트에 적용해보라고 하셨다.
그 다음,
- 쿠버네티스에 대한 소개를 했다.
쿠버네티스는, 다수의 컨테이너를 관리하고 배포하는 데에 도움을 주는 툴이다!
컨테이너 오케스트레이션 툴이라고도 부른다. - CI/CD 구축을 해보는 걸 추천했다.
Docker 컨테이너 기반으로 CI/CD 구축을 해보라는 내용이다.
완강!
기본적인 내용만 사용해본 입장에서, 간단하게 사용하는 입장에서는 러닝커브가 높은 툴이 아니라고 느낀다.
어쩌면 잘 가르치는 강사님 이라서 그런걸수도.
과연 실무에는 어떤 무지막지한 내용이 있을지는 모르겠으나.. ㅎㅎ;
적어도 아는 지식이 전혀 없었던 과거보다는 나아진듯!
애초에 이 강의의 타겟이 비전공 초보자들을 위한 강의인데, 큰 도움이 됐다.
'Docker' 카테고리의 다른 글
[Docker] 🐋도커 컨테이너 끼리 연결하기 (0) | 2025.05.28 |
---|---|
[Docker] 인프런 - 도커 기초🐋 #002 (0) | 2025.04.15 |
[Docker] 인프런 - 도커 기초🐋 #001 (2) | 2025.04.14 |